python的hashlib提供了常見的摘要演算法,如md5,sha1等等
計算出乙個字串的md5值:
importhashlib
md5 =hashlib.md5()
md5.update(
'how to use md5 in python hashlib?
'.encode("
utf8
")) #
需要指定轉碼 否則報錯 update()必須指定要加密的字串的字元編碼
print( md5.hexdigest())#
返回十六進製制
print( md5.digest()) #
二進位制#
如果資料量很大,可以分塊多次呼叫update(),最後計算的結果是一樣的:
md5 =hashlib.md5()
md5.update(
'how to use md5 in
'.encode("
utf8"))
md5.update(
'python hashlib?
'.encode("
utf8"))
print( md5.hexdigest())#
返回十六進製制
上述結果:
d26a53750bc40b38b65a520292f69306b'\xd2jsu\x0b\xc4\x0b8\xb6zr\x02\x92\xf6\x93\x06
'd26a53750bc40b38b65a520292f69306
計算出乙個字串sha1值:
importhashlib
sha_1 =hashlib.sha1()
sha_1.update(
'how to use sha1 in
'.encode("
utf8
")) #
需要指定轉碼 否則報錯 update()必須指定要加密的字串的字元編碼
sha_1.update('
python hashlib?
'.encode("
utf8"))
(sha_1.hexdigest())
#如果資料量很大,可以分塊多次呼叫update(),最後計算的結果是一樣的:
sha2 =hashlib.sha1()
sha2.update(
'how to use sha1 in python hashlib?
'.encode("
utf8"))
print (sha2.hexdigest())
列印結果:
2c76b57293ce30acef38d98f6046927161b46a442c76b57293ce30acef38d98f6046927161b46a44
讀取檔案獲取md5值:
importosimport
hashlib
#檔案md5
deffile_md5(pathandname):
ifos.path.isfile(pathandname):
hashmd5 =hashlib.md5()
file = open(pathandname, 'rb'
)
while
true:
b = file.read(1024)
ifnot
b:
break
hashmd5.update(b)
file.close()
return
hashmd5.hexdigest()
else
:
return
none
print(file_md5("
c:\\users\\administrator\\desktop\\v2.6.1_b511\\hvr_dec
")) #
aef87d1d673ca52412b4a950a06b9557
讀取檔案base64
importbase64
importos#
base64,引數為檔案路徑名
deffile_base64(filepath):
ifos.path.isfile(filepath):
with open(filepath, 'rb
') as file:
file_base64_str =base64.b64encode(file.read())
return
file_base64_str
else
:
return none
讀取sha256
importhmac
import
hashlib
defget_hmacsha256(key, message):
key_bytes = bytes(key, '
utf-8')
message_bytes = bytes(message, '
utf-8')
hmacsha256_str = hmac.new(key_bytes, message_bytes, digestmod=hashlib.sha256).hexdigest()
return hmacsha256_str
Python的hashlib模組學習
python的hashlib模組提供一些常用的加密功能 例如獲取字串 nobody inspects the spammish repetition 的md5校驗值 in 48 import hashlib in 49 m hashlib.md5 in 50 m.update nobody insp...
python中的hashlib模組
hashlib是乙個提供字串加密功能的模組,包含md5和sha的演算法,md5和sha是摘要演算法,摘要演算法是什麼呢 也可以稱為雜湊演算法,離散演算法。通過乙個函式將任意長度的資料轉化為乙個長度固定的資料串,摘要函式是乙個單向函式,計算f data 很容易,但是通過digest反推data非常困難...
python學習 hashlib模組
hashlib hash,譯做 雜湊 也有直接音譯為 雜湊 的。把任意長度的輸入,通過某種hash演算法,變換成固定長度的輸出,該輸出就是雜湊值,也稱摘要值。該演算法就是雜湊函式,也稱摘要函式。md5是最常見的摘要演算法,速度很快,生成結果是固定的16位元組,通常用乙個32位的16進製制字串表示。s...