用于加密相關(guān)的操作,3.x里代替了md5模塊和sha模塊,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法
import hashlib m = hashlib.md5()m.update(b"hello")print(m.hexdigest())m.update(b"It's me")print(m.hexdigest())m.update(b"It's been a long time since we spoken.")print(m.hexdigest()) m2 = hashlib.md5()m2.update(b"helloIt's me")print(m2.hexdigest()) # 輸出5d41402abc4b2a76b9719d911017c59264f69d95135bc13d4827f871b37f780f0c9a83e10aa2f9e9629be61146db9cc264f69d95135bc13d4827f871b37f780f #第二個和第四個 md5值是相同的,所以第二個加密的是 helloIt'sme<br><code class="python comments"><br></code>
print(m.digest()) #2進(jìn)制格式hash
print(len(m.hexdigest())) #16進(jìn)制格式hash
# ######## sha1 ######## hash = hashlib.sha1()hash.update('admin')print(hash.hexdigest()) # ######## sha256 ######## hash = hashlib.sha256()hash.update('admin')print(hash.hexdigest()) # ######## sha384 ######## hash = hashlib.sha384()hash.update('admin')print(hash.hexdigest()) # ######## sha512 ######## hash = hashlib.sha512()hash.update('admin')print(hash.hexdigest())python 還有一個 hmac 模塊,它內(nèi)部對我們創(chuàng)建 key 和 內(nèi)容 再進(jìn)行處理然后再加密
散列消息鑒別碼,簡稱HMAC,是一種基于消息鑒別碼MAC(Message Authentication Code)的鑒別機(jī)制。使用HMAC時,消息通訊的雙方,通過驗(yàn)證消息中加入的鑒別密鑰K來鑒別消息的真?zhèn)危?/p>
一般用于網(wǎng)絡(luò)通信中消息加密,前提是雙方先要約定好key,就像接頭暗號一樣,然后消息發(fā)送把用key把消息加密,接收方用key + 消息明文再加密,拿加密后的值 跟 發(fā)送者的相對比是否相等,這樣就能驗(yàn)證消息的真實(shí)性,及發(fā)送者的合法性了。
import hmac h = hmac.new("天王蓋地虎".encode(encoding="utf-8"), "你是小松鼠".encode(encoding="utf-8"))print(h.digest())print(h.hexdigest()) #輸出b'fx/xad/xdd/x9e/xd6/xddcQN/x82c/xcd/xd9/x80-'6678addd9ed6dd63514e8263cdd9802d以上這篇基于hashlib模塊--加密(詳解)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選