2011-01-06 35 views
10

256 bit çıkışa sahip bir Karma işlevine (uzun int olarak) ihtiyacım var.Python 256bit Sayı işlevi olan karma işlev

İlk önce SHA256'yı hashlib'den kullanabileceğimi düşündüm, ancak bir String Çıktısı var ve hesaplamak için bir numaraya ihtiyacım var.

Uzun bir süreye 32 Byte String dönüştürmek de işe yaramadı ama ben bir şey bulamadım. Yapı içinde paket açma işlevi vardır, ancak bu yalnızca 8 Byte uzun türleri için çalışır ve uzun uzun süreler için geçerli değildir.

cevap

17

ne dersiniz:

>>> import hashlib 
>>> h = hashlib.sha256('something to hash') 
>>> h.hexdigest() 
'a3899c4070fc75880fa445b6dfa44207cbaf924a450ce7175cd8500e597d3ec1' 
>>> n = int(h.hexdigest(),base=16) 
>>> print n 
73970130776712578303406724846815845410916448611708558169000368019946742824641 
1

piton 3.x güncelleme

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) 
İlgili konular