int*_*jay 28
您可以使用该hexdigest()方法获取十六进制数字,然后将它们转换为数字:
>>> h = hashlib.md5('data')
>>> int(h.hexdigest(), 16)
188041611063492600696317361555123480284L
Run Code Online (Sandbox Code Playgroud)
如果已经有输出digest(),可以将其转换为十六进制数字:
>>> hexDig = ''.join('%02x' % ord(x) for x in h.digest())
>>> int(hexDig, 16)
188041611063492600696317361555123480284L
Run Code Online (Sandbox Code Playgroud)
编辑:
对于第二种情况,实际上使用.encode('hex')或转换更容易binascii.hexlify:
>>> int(h.digest().encode('hex'), 16)
188041611063492600696317361555123480284L
>>> int(binascii.hexlify(h.digest()), 16)
188041611063492600696317361555123480284L
Run Code Online (Sandbox Code Playgroud)