Add message signing
This commit is contained in:
+16
-1
@@ -23,7 +23,7 @@
|
||||
%%% @end
|
||||
|
||||
-module(hz).
|
||||
-vsn("0.5.2").
|
||||
-vsn("0.6.0").
|
||||
-author("Craig Everett <ceverett@tsuriai.jp>").
|
||||
-copyright("Craig Everett <ceverett@tsuriai.jp>").
|
||||
-license("GPL-3.0-or-later").
|
||||
@@ -73,6 +73,7 @@
|
||||
decode_bytearray_fate/1, decode_bytearray/2,
|
||||
spend/5, spend/10,
|
||||
sign_tx/2, sign_tx/3,
|
||||
sign_message/2,
|
||||
verify_signature/3]).
|
||||
|
||||
|
||||
@@ -2272,6 +2273,20 @@ spend3(DSenderID,
|
||||
hz:post_tx(Encoded).
|
||||
|
||||
|
||||
-spec sign_message(Message, SecKey) -> Sig
|
||||
when Message :: binary(),
|
||||
SecKey :: binary(),
|
||||
Sig :: binary().
|
||||
|
||||
sign_message(Message, SecKey) ->
|
||||
Prefix = <<"Gajumaru Signed Message:\n">>,
|
||||
{ok, PSize} = vencode(byte_size(Prefix)),
|
||||
{ok, MSize} = vencode(byte_size(Message)),
|
||||
Smashed = iolist_to_binary([PSize, Prefix, MSize, Message]),
|
||||
{ok, Hashed} = eblake2:blake2b(32, Smashed),
|
||||
ecu_eddsa:sign_detached(Hashed, SecKey).
|
||||
|
||||
|
||||
-spec verify_signature(Sig, Message, PubKey) -> Result
|
||||
when Sig :: binary(),
|
||||
Message :: iodata(),
|
||||
|
||||
Reference in New Issue
Block a user