您好,登錄后才能下訂單哦!
廖某在文章中解釋得很含糊,我只知道hmac是通過(guò)password+key進(jìn)行生成,這與前面一節(jié)將的加Salt的方法差不多。
以下鏈接的博主解釋的很清晰。
https://blog.csdn.net/hwaphon/article/details/52175431
HMAC 算法主要應(yīng)用于身份驗(yàn)證,用法如下: 1.客戶(hù)端發(fā)出登錄請(qǐng)求 2.服務(wù)器返回一個(gè)隨機(jī)值,在會(huì)話(huà)記錄中保存這個(gè)隨機(jī)值 3.客戶(hù)端將該隨機(jī)值作為密鑰,用戶(hù)密碼進(jìn)行 hmac 運(yùn)算,遞交給服務(wù)器 4.服務(wù)器讀取數(shù)據(jù)庫(kù)中的用戶(hù)密碼,利用密鑰做和客戶(hù)端一樣的 hmac運(yùn)算,然后與用戶(hù)發(fā)送的結(jié)果比較,如果一致,則用戶(hù)身份合法。
加Salt是固定的,用戶(hù)名也是固定的,被知道了一樣破解。但是,HMAC是的key是每次隨機(jī)的,這樣比加Salt的方法更加安全可靠。
import hmac message = b'Hello, world!' key = b'secret' h = hmac.new(key, message, digestmod='MD5') # 如果消息很長(zhǎng),可以多次調(diào)用h.update(msg) print (h.hexdigest())
運(yùn)行結(jié)果:
fa4ee7d173f2d97ee79022d1a7355bcf
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。