256ビット出力(long int)のハッシュ関数が必要です。数値出力のPython 256bitハッシュ関数
最初に私はhashlibからSHA256を使うことができると思っていましたが、文字列出力があり、計算には数字が必要です。
32バイト文字列をlong型に変換することもできますが、何も見つかりませんでした。 構造体にはアンパック関数がありますが、これは8バイトのlong型に対してのみ機能し、long型では機能しません。
256ビット出力(long int)のハッシュ関数が必要です。数値出力のPython 256bitハッシュ関数
最初に私はhashlibからSHA256を使うことができると思っていましたが、文字列出力があり、計算には数字が必要です。
32バイト文字列をlong型に変換することもできますが、何も見つかりませんでした。 構造体にはアンパック関数がありますが、これは8バイトのlong型に対してのみ機能し、long型では機能しません。
方法について:
>>> import hashlib
>>> h = hashlib.sha256('something to hash')
>>> h.hexdigest()
'a3899c4070fc75880fa445b6dfa44207cbaf924a450ce7175cd8500e597d3ec1'
>>> n = int(h.hexdigest(),base=16)
>>> print n
73970130776712578303406724846815845410916448611708558169000368019946742824641
のpython 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)