Python 3.5将字符串转换为sha1 sum的类型

时间:2016-02-22 21:04:44

标签: python-3.x sha digest

我知道如何从字符串中获取sha1,然后从中获取摘要sha1,这是我的目标。但现在的问题是我已经有了sha1(它来自一个文件而不是一个字符串)并希望从中获取摘要sha1(并且基本64对它进行编码)。

mysha1 = "FB9BA6614A6AEB7A040881E09A4B8211405831FF"
print(base64.b64encode(mysha1.digest()))

这导致

AttributeError: 'str' object has no attribute 'digest'

1 个答案:

答案 0 :(得分:4)

digest和hexdigest的示例:

>>> import hashlib
>>> d = hashlib.sha1(b'footext')
>>> d.digest()
b'f\xf9\x88gI\xfdQK\x8eM\xbd\x9e\x18(\xcf\x860"\xf1\xbf'
>>> d.hexdigest()
'66f9886749fd514b8e4dbd9e1828cf863022f1bf'

如何将hexdigest转换为摘要:

>>> bytes.fromhex(d.hexdigest())
b'f\xf9\x88gI\xfdQK\x8eM\xbd\x9e\x18(\xcf\x860"\xf1\xbf'