最近在學(xué)習(xí) web 開發(fā)的時(shí)候遇到了一點(diǎn)問題, 有關(guān)摘要算法的, 個(gè)人查了資料還是不理解, 如下:百度百科有這樣一條:一般地,只要輸入的消息不同,對(duì)其進(jìn)行摘要以后產(chǎn)生的摘要消息也必不相同;但相同的輸入必會(huì)產(chǎn)生相同的輸出。這正是好的消息摘要算法所具有的性質(zhì):輸入改變了,輸出也就改變了;兩條相似的消息的摘要確不相近,甚至?xí)笙鄰酵ノ宜苫蟮氖羌热皇窍嗤妮斎雽?duì)應(yīng)相同的輸出, 那么豈不是一個(gè)密碼就對(duì)應(yīng)一個(gè)根據(jù)算法產(chǎn)生的密文, 比如我這樣:import hashlib
pwd = 'abc'.encode('ascii')
s = hashlib.sha1(pwd)
s.hexdigest()
s # -> 'a9993e364706816aba3e25717850c26c9cd0d89d'那如果一個(gè)壞人知道了是sha1算法和最后的s密文, 豈不是就可以反向推理出來(lái)密碼是abc? 比如說(shuō)很多人的密碼可能就是簡(jiǎn)單的生日(類似 900101 這種), 那么推測(cè) + 試驗(yàn) + 比對(duì)不就可以推測(cè)出那個(gè)人的密碼了么?第一次接觸這類知識(shí), 理解還有很大的偏差, 望各位前輩解答指教!
消息摘要的疑惑
慕碼人8056858
2019-02-09 11:11:47