字串的 MD5 雜湊值
該模組實現了許多不同安全雜湊和訊息摘要演算法的通用介面。包括 FIPS 安全雜湊演算法 SHA1,SHA224,SHA256,SHA384 和 SHA512(在 FIPS 180-2 中定義)以及 RSA 的 MD5 演算法(在 Internet RFC 1321 中定義)。
為每種型別的雜湊命名了一個建構函式方法。全部返回具有相同簡單介面的雜湊物件。例如:使用 sha1()
建立 SHA1 雜湊物件。
hash.sha1()
此模組中始終存在的雜湊演算法的建構函式是 md5()
,sha1()
,sha224()
,sha256()
,sha384()
和 sha512()
。
你現在可以使用 update()
方法使用任意字串提供此物件。在任何時候你都可以使用 digest()
或 hexdigest()
方法詢問它到目前為止連線到字串串聯的摘要。
hash.update(arg)
使用字串 arg 更新雜湊物件。重複呼叫相當於一次呼叫,並連線所有引數:m.update(a);
m.update(b)
相當於 m.update(a + b)。
hash.digest()
返回到目前為止傳遞給
update()
方法的字串的摘要。這是一個 digest_size 位元組字串,可能包含非 ASCII 字元,包括空位元組。
hash.hexdigest()
與
digest()
類似,但摘要以雙倍長度的字串形式返回,僅包含十六進位制數字。這可用於在電子郵件或其他非二進位制環境中安全地交換值。
這是一個例子:
>>> import hashlib
>>> m = hashlib.md5()
>>> m.update("Nobody inspects")
>>> m.update(" the spammish repetition")
>>> m.digest()
'\xbbd\x9c\x83\xdd\x1e\xa5\xc9\xd9\xde\xc9\xa1\x8d\xf0\xff\xe9'
>>> m.hexdigest()
'bb649c83dd1ea5c9d9dec9a18df0ffe9'
>>> m.digest_size
16
>>> m.block_size
64
要麼:
hashlib.md5("Nobody inspects the spammish repetition").hexdigest()
'bb649c83dd1ea5c9d9dec9a18df0ffe9'