Python的hashlib提供了常見的摘要演算法

2022-04-07 10:38:00 字數 2918 閱讀 8325

python的hashlib提供了常見的摘要演算法,如md5,sha1等等

計算出乙個字串的md5值:

import

hashlib

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值:

import

hashlib

sha_1 =hashlib.sha1()

sha_1.update(

'how to use sha1 in

'.encode("

utf8

")) #

需要指定轉碼 否則報錯 update()必須指定要加密的字串的字元編碼

sha_1.update('

python hashlib?

'.encode("

utf8"))

print

(sha_1.hexdigest())

#如果資料量很大,可以分塊多次呼叫update(),最後計算的結果是一樣的:

sha2 =hashlib.sha1()

sha2.update(

'how to use sha1 in python hashlib?

'.encode("

utf8"))

print (sha2.hexdigest())

列印結果:

2c76b57293ce30acef38d98f6046927161b46a44

2c76b57293ce30acef38d98f6046927161b46a44

讀取檔案獲取md5值:

import

osimport

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

import

base64

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

import

hmac

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...