hashlib
可以將乙個字串資料型別的變數轉化成乙個定長的密文的字串,字串裡的每乙個字元都是16進製制數字。
演算法:對同乙個字串,用相同的演算法,相同的手段去進行摘要,獲取的值總是相同的。對於同乙個字串,不管什麼環境、什麼語言、多少次執行,使用相同的演算法得到的結果永遠是相同的。只要不是相同的字串,得到的結果一定不同。
md5演算法比sha演算法要快,跟普及一些。
sha演算法比md5複雜一些,因為用的人少一些,所以相對更安全。
import hashlib # 摘要演算法模組
pwd =
'huashandadizi123'
# md5演算法
# 她的結果是乙個32位的字串,她的每一位都是16進製制。
md5_obj = hashlib.md5(
)md5_obj.update(pwd.encode(
'utf-8'))
ret = md5_obj.hexdigest(
)print
(ret,
len(ret)
,type
(ret)
)
e0b4119aa443a3ac7782bf6a5a58473a 32
# sha1演算法
# 她的結果是乙個40位的字串,她的每一位也是十六進製制。
sha_obj = hashlib.sha1(
)sha_obj.update(pwd.encode(
'utf-8'))
ret1 = sha_obj.hexdigest(
)print
(ret1,
len(ret1)
,type
(ret1)
)
299c74d24d518fcb347c3e206b0c47835479b372 40
# 為了防止撞庫,可以加鹽
md5_obj = hashlib.md5(
"任意字元作為鹽"
.encode())
md5_obj.update(pwd.encode(
'utf-8'))
ret = md5_obj.hexdigest(
)print
(ret,
len(ret)
,type
(ret)
)
137d76f568c5f22f518aa0f42bc2004d 32
python hashlib模組使用詳解
這個模組實現了乙個通用的介面來實現多個不同的安全雜湊和訊息摘要演算法。包括fips安全雜湊演算法sha1,sha224,sha256,sha384和sha512 在fips 180 2中定義 以及rsa的md5演算法 在網際網路rfc 1321術語 安全雜湊 和 訊息摘要 是可互換的。較舊的演算法被...
Python hashlib的簡單使用
hashlib模組針對不同的安全雜湊和訊息摘要演算法實現了乙個通用的介面,其中包括sha1,sha224,sha256,sha384,sha512演算法以及rsa的md5演算法。第一步import hashlib 第二步建立所需的hash演算法物件。sha256 hashlib.sha256 第三步...
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...