pyhton筆記 雜湊摘要

2021-10-05 02:19:08 字數 1297 閱讀 3598

雜湊摘要:

數字簽名/指紋

單向雜湊函式(沒有反函式,不可逆)

應用領域:

1。資料庫中的使用者敏感資訊儲存成雜湊摘要

2。給資料生成簽名驗證資料沒有被惡意篡改

3。雲儲存服務的秒轉功能

# 生成摘要器類

# algotithm代表雜湊摘要演算法

class

streamhasher()

:def

__init__

(self,algotithm=

'md5'

,size=

4096):

self.size = size

cls =

getattr

(__import__

('hashlib'

),algotithm.lower())

self.hasher = cls(

)# 生成十六進製制的摘要字串

defgenerate_hex_digest

(self,file_stream)

:for data in

iter

(lambda

:file_stream.read(self.size)

,b''):

self.hasher.update(data)

return self.hasher.hexdigest(

)def

main()

: hasher1 = streamhasher(

) hasher2 = streamhasher(

'sha1'

) hasher3 = streamhasher(

'sha256'

)with

open

('log.txt'

,'rb'

)as file_stream:

print

(hasher1.generate_hex_digest(file_stream)

) file_stream.seek(0,

0)print

(hasher2.generate_hex_digest(file_stream)

) file_stream.seek(0,

0)print

(hasher3.generate_hex_digest(file_stream)

)if __name__==

"__main__"

: main(

)

Pyhton筆記 斷言

斷言 assert 編寫 時,我們總是會做出一些假設,斷言就是用於在 中捕捉這些假設。斷言表示為一些布林表示式,程式設計師相信在程式中的某個特定點該表示式值為真,可以在任何時候啟用和禁用斷言驗證,因此可以在測試時啟用斷言而在部署時禁用斷言。同樣,程式投入執行後,終端使用者在遇到問題時可以重新啟用斷言...

訊息摘要 雜湊(hash) 加鹽

hashlib 演算法介紹 python的hashlib提供了常見的摘要演算法,如md5,sha1等等。什麼是摘要演算法呢?摘要演算法又稱雜湊演算法 雜湊演算法。它通過乙個函式,把任意長度的資料轉換為乙個長度固定的資料串 通常用16進製制的字串表示 摘要演算法就是通過摘要函式f 對任意長度的資料da...

數字摘要和Hash函式(雜湊函式)

1 數字摘要 數字摘要是將任意長度的訊息變成固定長度的短訊息,它類似於乙個自變數是訊息的函式,也就是hash函式。數字摘要就是採用單項hash函式將需要加密的明文 摘要 成一串固定長度 128位 的密文這一串密文又稱為數字指紋,它有固定的長度,而且不同的明文摘要成密文,其結果總是不同的,而同樣的明文...