python模組之hashlib模組

2022-05-17 08:27:37 字數 1420 閱讀 5816

hashlib模組:

提供摘要演算法

格式:

hashlib格式:

obj =hashlib.演算法(md5,sha....)

obj.update(摘要內容:bytes型別)

result = obj.hexdigest()

具體使用的方法:

abstract =hashlib.md5()

abstract1 =hashlib.md5()

abstract2 =hashlib.sha1()

abstract.update(bytes('密文

', encoding='

utf-8'))

abstract1.update(bytes('密文

', encoding='

utf-8'))

abstract2.update(bytes('密文

', encoding='

utf-8'))

print(abstract.hexdigest()) #

c099362aa8fc5c5d1be88e4c2c42ea62

print(abstract1.hexdigest()) #

c099362aa8fc5c5d1be88e4c2c42ea62

print(abstract2.hexdigest()) #

058115813f2cbb11f638a736c22b3bd32a5e46dc

從上面的例子看出摘要演算法的特點:

摘要演算法特點:可用於檔案的一致性驗證

1,對於相同的字串,同一種演算法摘要後的值總是相同的

2,對於相同的字串,不同的演算法摘要後的值應該是不相同的

加鹽摘要:

進一步提高密文的安全性,防止撞庫!

abstract = hashlib.md5(bytes('

加鹽', encoding='

utf-8'))

abstract.update(bytes('密文

', encoding='

utf-8'))

print(abstract.hexdigest()) #

17de8554897051e741525a38fc250adf

動態加鹽:

使用使用者名稱的某一部分作為加鹽的物件或和鹽進行拼接後加鹽。

user = input('

username:')

abstract = hashlib.md5(bytes(user, encoding='

utf'

))abstract.update(bytes('密文

', encoding='

utf-8'))

print(abstract.hexdigest())

python模組之shutil模組

高階的 檔案 資料夾 壓縮包 處理模組 shutil.copyfileobj fsrc,fdst length 將檔案內容拷貝到另乙個檔案中 import shutil shutil.copyfileobj open old.xml r open new.xml w shutil.copyfile ...

python模組之timeit模組

timeit模組用來測量函式執行時間,通過實際 學習怎樣應用timeit模組 fromtimeitimport print timeit x 7 print timeit x 7 number 1000000 print timeit x 7 number 1000000 print 上面三個列印說...

python模組 之 re模組

功能 實現python對正規表示式對支援與應用,將想要得到對內容按照正規表示式匹配出來 應用場景 爬蟲指令碼 對使用者輸入內容進行合規檢查 如qq格式檢查 等 功能 匹配物件中所有符合正規表示式的內容,並取出來 返回值 列表,所匹配到對項都會返回到列表中 import re content 1362...