计算消息摘要

hashlib 模块允许通过 new 方法创建消息摘要生成器。这些生成器将任意字符串转换为固定长度的摘要:

import hashlib

h = hashlib.new('sha256')
h.update(b'Nobody expects the Spanish Inquisition.')
h.digest()
# ==> b'.\xdf\xda\xdaVR[\x12\x90\xff\x16\xfb\x17D\xcf\xb4\x82\xdd)\x14\xff\xbc\xb6Iy\x0c\x0eX\x9eF-='

请注意,你可以在调用 digest 之前调用 update 任意次数,这对于按块散列大型文件块很有用。你还可以使用 hexdigest 以十六进制格式获取摘要:

h.hexdigest()
# ==> '2edfdada56525b1290ff16fb1744cfb482dd2914ffbcb649790c0e589e462d3d'