Skip to content

Instantly share code, notes, and snippets.

@amrali
Created November 8, 2018 20:28
Show Gist options
  • Save amrali/7fbc6fd1ecf431b12acb72f0aca81d14 to your computer and use it in GitHub Desktop.
Save amrali/7fbc6fd1ecf431b12acb72f0aca81d14 to your computer and use it in GitHub Desktop.
Tezos signature
from base58 import b58encode_check
from hashlib import blake2b
prefix = lambda x: b'\x36\xf0\x2c\x34' + x
data = b'hello world'
md32 = blake2b(data, digest_size=32).digest()
md64 = blake2b(data, digest_size=64).digest()
encoded_md32 = b58encode_check(prefix(md32))
encoded_md64 = b58encode_check(prefix(md64))
print("Data:", data)
print("blake2b-32:", md32)
print("blake2b-64:", md64)
print("b58check-32:", encoded_md32)
print("b58check-64:", encoded_md64)
# Data: b'hello world'
# blake2b-32: b'%l\x83\xb2\x97\x11M \x1b0\x17\x9f?\x0e\xf0\xca\xce\x97\x83b-\xa5\x97C&\xb46\x17\x8a\xee\xf6\x10'
# blake2b-64: b'\x02\x1c\xed\x87\x99)l\xec\xa5W\x83*\xb9A\xa5\x0bJ\x11\xf84x\xcf\x14\x1fQ\xf93\xf6S\xab\x9f\xbc\xc0Z\x03|\xdd\xbe\xd0n0\x9b\xf34\x94,NX\xcd\xf1\xa4n#y\x11\xcc\xd7\xfc\xf9x|\xbc\x7f\xd0'
# b58check-32: b'3jKqxComefYXHLpuZEYM4fyd9BcLZ55tuMMW7GWGDquYp9rcCDaRj7r'
# b58check-64: b'p2sigMaYrDDUYboZSn6bVdt3FCK4QASnDyvAWo9j4ojoPy9QUf1dGXc1qc3npRYqjdLfuiPmHUtubgvMGkE5aaWQBqcaSKysPo'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment