python的hashlib模組提供一些常用的加密功能
例如獲取字串'nobody inspects the spammish repetition'的md5校驗值
in [48]: import hashlib
in [49]: m=hashlib.md5()
in [50]: m.update('nobody inspects')
in [51]: m.update('the spammish repetition')
in [52]: m.digest()
out[52]: '%\x8d3\xf9,:k\xe0?\xbb0+\xc4k\x94s'
in [53]: m.digest_size
out[53]: 16
in [54]: m.block_size
out[54]: 64
in [55]: m.hexdigest()
out[55]: '258d33f92c3a6be03fbb302bc44b9453'
in [56]: m.digest_size
out[56]: 16
in [57]: m.block_size
out[57]: 64
這裡定義乙個hash物件m,使用hashlib模組提供的md5()函式,還可以是
md5(), sha1(), sha224(), sha256(), sha384(), and sha512()
也可以根據作業系統提供的hash演算法,使用new()選擇openssl庫提供的加密演算法
sha384和sha512在32位系統上使用會比較慢
update(arg) 更新hash物件,重複使用update(arg)等價於一次更新多個字串的組合
m.update(a)和m.update(b)等價於m.update(a+b)
digest() 返回加密後的字串
hexdigest() 返回加密碼後的16進製制字串
digest_size 是加密後的雜湊值位元組
block_size 資料塊大小
案例:
def ge***5(strfile):
fh=open(strfile,"rb")
m=md5()
strread=""
while true:
strread=fh.read()
if not strread:
break
m.update(strread)
strmd5=m.hexdigest()
if fh:
fh.close()
return strmd5
print ge***5(__file__)
python中的hashlib模組
hashlib是乙個提供字串加密功能的模組,包含md5和sha的演算法,md5和sha是摘要演算法,摘要演算法是什麼呢 也可以稱為雜湊演算法,離散演算法。通過乙個函式將任意長度的資料轉化為乙個長度固定的資料串,摘要函式是乙個單向函式,計算f data 很容易,但是通過digest反推data非常困難...
python學習 hashlib模組
hashlib hash,譯做 雜湊 也有直接音譯為 雜湊 的。把任意長度的輸入,通過某種hash演算法,變換成固定長度的輸出,該輸出就是雜湊值,也稱摘要值。該演算法就是雜湊函式,也稱摘要函式。md5是最常見的摘要演算法,速度很快,生成結果是固定的16位元組,通常用乙個32位的16進製制字串表示。s...
python模組詳解 hashlib
用於加密相關的操作,在python3中替代了md5和sha模組,主要提供sha和md5演算法。md5import hashlib m hashlib.md5 呼叫md5方法 m.update b hello print m.digest b x8b x1a x99s xc4a x12 x96 xa8...