Python基礎(chǔ)-----hashlib模塊

用于加密相關(guān)的操作,python 3.x里代替了md5模塊和sha模塊,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法

md5

md5 字符串只可以單向加密成密文,不能反解。(可通過撞庫進(jìn)行解密)
如果用于登錄密碼驗(yàn)證,則可以將密碼轉(zhuǎn)換為密文進(jìn)行比對驗(yàn)證即可

obj = hashlib.md5()   #調(diào)用md5消息摘要算法

obj.update('test message'.encode('utf-8'))   #對指定的字符串進(jìn)行加密,加密長度為32位的字節(jié)形式

print(obj.hexdigest())   
# c72b9698fa1927e1dd12d3cf26ed84b2 每個(gè)字符串都有唯一值

obj.update('try'.encode('utf-8')) 
 #3a2430952b0188616a70607cce878631  ==> 等價(jià)于對  'test message'+'try'  加密
print(obj.hexdigest())

所以可以通過給用戶定義的字符串‘加鹽’key來增加密文的復(fù)雜度

obj1 = hashlib.md5('password'.encode('utf-8')) ` 
#調(diào)用md5消息摘要算法,并在該處指定用其他字符串來輔助加密   ‘加鹽’

obj1.update('test message'.encode('utf-8'))   

print(obj1.hexdigest())   # c13bbb52245a85ec55bedfb309a4bfb1 

以上加密算法雖然依然非常厲害,但是存在缺陷
即:通過撞庫(哈希碰撞)可以反解。
所以為增加安全級(jí)別可以使用‘加鹽’方式

SHA256

import hashlib
hash = hashlib.sha256('898oaFs09f'.encode('utf8'))
hash.update('alvin'.encode('utf8'))
print (hash.hexdigest())#e79e68f070cdedcfe63eaf1a2e92c83b4cfb1b5c6bc452d214c1b7e77cdfd1c7

python 還有一個(gè) hmac 模塊,它內(nèi)部對我們創(chuàng)建 key 和 內(nèi)容 再進(jìn)行處理然后再加密

import hmac
h = hmac.new('alvin'.encode('utf8'))
h.update('hello'.encode('utf8'))
print (h.hexdigest())#320df9832eab4c038b6c1d7ed73a5940
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • https://www.cnblogs.com/wupeiqi/articles/5501365.html 模塊 ...
    AndroidCat閱讀 374評論 0 0
  • 常用模塊 認(rèn)識(shí)模塊 什么是模塊 什么是模塊? 常見的場景:一個(gè)模塊就是一個(gè)包含了python定義和聲明的文件,文...
    go以恒閱讀 2,169評論 0 6
  • 1. 認(rèn)識(shí)模塊 1.1 什么是模塊 一個(gè)模塊就是一個(gè)包含了python定義和聲明的文件,文件名就是模塊名字加上.p...
    hswangxun閱讀 693評論 0 1
  • 常用模塊學(xué)習(xí) 什么是模塊? 為了維護(hù)代碼 提高代碼的可維護(hù)性; 使用模塊可以避免函數(shù)名和變量名沖突; 可重用 模塊...
    drfung閱讀 777評論 1 1
  • 有時(shí)候,放棄一個(gè)人更多的是因?yàn)槭姆e累。 其實(shí)有時(shí)候放棄一個(gè)人總是無聲無息的。 你今天做了一件讓我倍感失望的事情...
    吃素點(diǎn)亮地球洪秀琴閱讀 230評論 0 0

友情鏈接更多精彩內(nèi)容