我需要一个输出为256bit的哈希函数(如long int)。
首先,我想我可以使用hashlib中的sha256,但它有一个字符串输出,我需要一个数字来计算。
将32字节字符串转换为长字符串也可以,但我没有找到任何内容。
在struct中有一个unpack函数,但它只适用于8字节长的类型,而不适用于更长的类型。
最佳答案
怎么样:
>>> import hashlib
>>> h = hashlib.sha256('something to hash')
>>> h.hexdigest()
'a3899c4070fc75880fa445b6dfa44207cbaf924a450ce7175cd8500e597d3ec1'
>>> n = int(h.hexdigest(),base=16)
>>> print n
73970130776712578303406724846815845410916448611708558169000368019946742824641