sha 256、 ripemd160
哈希值的输出值一般是16进制的字符串。而16进制字符串,每两个字符占一个字节。我们知道,一个字节=8bit.
以sha256为例:
bit :256位bit->64位16进制字符->32个字节。
而ripemd:
bit:160位,->40位16进制字符->20个字节。
import hashlib
# from Crypto.Cipher import AES
# from Crypto.Hash import SHA256
print("welcome python hashlib world!")
# 256
hash_256 = hashlib.sha256()
hash_str = "abcdefg"
hash_256.update(hash_str.encode('utf-8'))
hash_256_value = hash_256.hexdigest()
obj = hashlib.new('ripemd160', hash_256_value.encode('utf-8'))
ripemd_160_value = obj.hexdigest()
print("sha256:", hash_256_value) # 16进制
print("ripemd160 :", ripemd_160_value)
这也是一种方式:
data = hashlib.sha256("I am Satoshi Nakamoto".encode('utf-8')).hexdigest()
print("I am Satoshi Nakamoto", data)