Skip to content

Commit f535112

Browse files
committed
use 27-based signature
1 parent f59737e commit f535112

2 files changed

Lines changed: 3 additions & 3 deletions

File tree

crypto/utils/message.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ def sign(cls, message: Union[bytes, str], passphrase: Union[bytes, str]):
6666

6767
transaction_signature = private_key.sign(MESSAGE_PREFIX + (str(len(message))).encode() + message)
6868

69-
signature_v = bytes([transaction_signature[0]]).hex()
69+
signature_v = bytes([int(transaction_signature[0]) + 27]).hex()
7070
signature_r = transaction_signature[1:33].hex()
7171
signature_s = transaction_signature[33:].hex()
7272

@@ -94,7 +94,7 @@ def verify(self):
9494
signature_s = signature[32:64]
9595
signature_v = signature[64]
9696

97-
signature = signature_r + signature_s + bytes([signature_v])
97+
signature = signature_r + signature_s + bytes([signature_v - 27])
9898

9999
public_key = PublicKey.recover(message_hash, signature)
100100

tests/fixtures/message-sign.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"message": "Hello, world!",
33
"publicKey": "0243333347c8cbf4e3cbc7a96964181d02a2b0c854faa2fef86b4b8d92afcf473d",
4-
"signature": "0x2bdd0c58ff8a25f456065fb731c73308a25d0a09f351f23e3c7dd3882776d33d626b0cafc0b99dd7504b24f6ecd2e036a267c8e5e005f36dcbc03b2e33fa7fc301"
4+
"signature": "0x2bdd0c58ff8a25f456065fb731c73308a25d0a09f351f23e3c7dd3882776d33d626b0cafc0b99dd7504b24f6ecd2e036a267c8e5e005f36dcbc03b2e33fa7fc31c"
55
}

0 commit comments

Comments
 (0)