雜湊摘要:
數字簽名/指紋
單向雜湊函式(沒有反函式,不可逆)
應用領域:
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位 的密文這一串密文又稱為數字指紋,它有固定的長度,而且不同的明文摘要成密文,其結果總是不同的,而同樣的明文...