hashlib模組針對不同的安全雜湊和訊息摘要演算法實現了乙個通用的介面,其中包括sha1, sha224, sha256, sha384, sha512演算法以及rsa的md5演算法。
第一步import hashlib
第二步建立所需的hash演算法物件。sha256 = hashlib.sha256()
第三步新增需要被hash的資料。sha256.update(data)
第四步得到hash的結果。sha256.hexdigest()
通過hashlib構造出來的物件一般都有著相同的幾個方法:update(),digest(),hexdigest()
update():
這個方法是向物件傳遞需要被hash的位元組資料物件,多次呼叫這個方法,會把每次傳入的資料拼接在一起。當有時候資料比較大的時候會使用多次呼叫。
digest()、hexdigest():
前者返回當前已傳給 update()方法的資料摘要,是乙個位元組串物件。而後者類似於 digest() 但摘要會以兩倍長度字串物件的形式返回,其中僅包含十六進製制數碼,是乙個字串。
簡單使用的話不用糾結digest()和hexdigest(),一般用hexdigest就行
因為update()需要的傳入的是位元組資料,而python使用的是unicode字符集,是字元,所以需要用utf-8進行解碼再傳入, 寫成b"資料"
的形式也可以。
稍微舉其中的一兩個的用法,其他的類似使用即可
import hashlib
data1 = "hashlibexample"
data2 = "data2"
# ##### md5 #####
md5 = hashlib.md5()
md5.update(data1.encode('utf-8'))
print(md5.hexdigest())
# ##### sha256 #####
sha256 = hashlib.sha256()
sha256.update(data1.encode('utf-8'))
sha256.update(data2.encode('utf-8'))
print(sha256.hexdigest())
簡單寫法:hashlib.sha256(data.encode('utf-8').hexdigest())
Python hashlib模組的使用示例
一.hashlib模組 用於加密相關的操作,3.x裡代替了md5模組和sha模組,主要提供 sha1,sha224,sha256,sha384,sha512,md5演算法。1.使用hashlib模組進行md5加密。import hashlib m hashlib.md5 m.update b hel...
python hashlib模組使用詳解
這個模組實現了乙個通用的介面來實現多個不同的安全雜湊和訊息摘要演算法。包括fips安全雜湊演算法sha1,sha224,sha256,sha384和sha512 在fips 180 2中定義 以及rsa的md5演算法 在網際網路rfc 1321術語 安全雜湊 和 訊息摘要 是可互換的。較舊的演算法被...
python hashlib你了解多少?
hashlib 可以將乙個字串資料型別的變數轉化成乙個定長的密文的字串,字串裡的每乙個字元都是16進製制數字。演算法 對同乙個字串,用相同的演算法,相同的手段去進行摘要,獲取的值總是相同的。對於同乙個字串,不管什麼環境 什麼語言 多少次執行,使用相同的演算法得到的結果永遠是相同的。只要不是相同的字串...