10
我需要一個帶有256位輸出的散列函數(只要int)。Python 256bit散列函數與數字輸出
首先我想我可以使用hashlib中的SHA256,但它有一個字符串輸出,我需要一個數字來計算。
將32字節字符串轉換爲long也可以,但我沒有找到任何東西。 在struct中有一個解壓縮函數,但這隻適用於8字節長的類型,而不適用於更長的long類型。
我需要一個帶有256位輸出的散列函數(只要int)。Python 256bit散列函數與數字輸出
首先我想我可以使用hashlib中的SHA256,但它有一個字符串輸出,我需要一個數字來計算。
將32字節字符串轉換爲long也可以,但我沒有找到任何東西。 在struct中有一個解壓縮函數,但這隻適用於8字節長的類型,而不適用於更長的long類型。
如何:
>>> import hashlib
>>> h = hashlib.sha256('something to hash')
>>> h.hexdigest()
'a3899c4070fc75880fa445b6dfa44207cbaf924a450ce7175cd8500e597d3ec1'
>>> n = int(h.hexdigest(),base=16)
>>> print n
73970130776712578303406724846815845410916448611708558169000368019946742824641
蟒蛇3.x的更新
import hashlib
value = 'something to hash'
t_value = value.encode('utf8')
h = hashlib.sha256(t_value)
h.hexdigest()
n = int(h.hexdigest(),base=16)
print(n)