我知道如何从字符串中获取sha1,然后从中获取摘要sha1,这是我的目标。但现在的问题是我已经有了sha1(它来自一个文件而不是一个字符串)并希望从中获取摘要sha1(并且基本64对它进行编码)。
mysha1 = "FB9BA6614A6AEB7A040881E09A4B8211405831FF"
print(base64.b64encode(mysha1.digest()))
这导致
AttributeError: 'str' object has no attribute 'digest'
答案 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'