之前的问题被问到,读者被要求使用 hexdigest() 代替。...这确实有效。但是摘要格式的结构是什么?
以下测试代码:
import hashlib, base64
f1 = open('foo.jpeg', 'rb')
m = hashlib.sha512()
m.update(f1.read())
sha = m.digest()
print(m.digest())
print(m.hexdigest())
res = base64.b64encode(sha)
print( res)
产生以下输出:
>>>
b'\xf3g\xd1S\xc4#OK\xb8\xb7\x1f~r\xf0\x19JE\xb0d\xb9\x11O\x08\x1c\xc66\x00\xb3i*\x87\x08\x92+\xd3)F\x02\t\x80\xf0m\x8b;\x9c\xcdq\xbd\xb9\x92k\x7f}d\t\xc65\x12\x0b\x17\xf9]5\x97'
f367d153c4234f4bb8b71f7e72f0194a45b064b9114f081cc63600b3692a8708922bd32946020980f06d8b3b9ccd71bdb9926b7f7d6409c635120b17f95d3597
>>>
我不明白上面输出的第一行中的“#OK”、“~r”、“i*”等部分是什么意思。任何可以对此有所了解的信息将不胜感激。当然,hexdigest() 输出非常有意义。
上一个问题是: hashlib.sha256 在 python 中返回了一些奇怪的字符。非常感谢。