計算訊息摘要
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'