md5編碼可以反編碼出來么?
網(wǎng)友解答: 先說結(jié)論: 永遠不可以。普及一下md5是什么吧,它是一種把任意長度的文本轉(zhuǎn)化成固定長度的md5值的算法。它是一種信息安全領域常用的算法,又稱為hash算法或者雜湊函數(shù)。把消息
先說結(jié)論: 永遠不可以。
普及一下md5是什么吧,它是一種把任意長度的文本轉(zhuǎn)化成固定長度的md5值的算法。
它是一種信息安全領域常用的算法,又稱為hash算法或者雜湊函數(shù)。
把消息的md5值作為消息摘要附在消息后面,傳給接收方。接收方計算消息的md5值并和發(fā)送方傳遞的md5值比對,如果一致則驗證通過。這樣,我們就保證了消息的完整性(即消息沒有被人篡改)
md5并不是一種加密手段,它是不可逆的運算。為什么這么說呢,因為計算方法本身不是單射,理論上,任何一個md5值都可以映射無窮多個文本。
那么,攻擊者是不是可以偽造一段md5值相同的信息呢?
答案是不行的,這和md5的特性有關,你無法偽造一份明文,使得它的md5剛好等于你已知的值。
我們看一下md5的幾大特性。
單向限門計算任意長度文本的md5值是很容易的,反過來通過md5倒推原文本,是不可行的。
固定長度任意長度的文本,計算出的md5的長度是一致的。不管你的文本是1個字符,還是一億個字符。這種特性給安全協(xié)議的設計造成很大便利。
雪崩效應哪怕兩段長文本只有一個字符不同,其md5值也會差別巨大,這樣可以防止攻擊者利用頻率攻擊等手段破譯
抗碰撞性其實這里又可以細分為抗弱碰撞性和抗強碰撞性。抗弱碰撞的意思是給你一段文本,你無法偽造一份有相同md5的文本??箯娕鲎驳囊馑际悄銦o法制造兩段文本,使他們md5相同。
曾經(jīng)的md5可以達到抗強碰撞性。但是由于王小云教授發(fā)現(xiàn)了md5算法的漏洞,現(xiàn)在md5已經(jīng)不具備抗碰撞性了。在安全性要求較高的應用場景,采用的是SHA_1這樣的更安全的hash算法。
希望我的回答能夠幫助你,有任何疑問可以私信我或者評論區(qū)留言,謝謝。
網(wǎng)友解答:MD5一般不可逆,很難反編碼出來,要破解的話,需要暴力破解,一個個明文去遍歷,看看是否匹配密文,這是十分耗時和耗費計算資源的過程。
MD5是對一段信息(Message)產(chǎn)生信息摘要(Message Digest),每個明文的MD5值是不同的,如果明文被改動了,其MD5值也會發(fā)生改變。
通常我們下載文件時會比較預先提供的MD5值和實際下載得到文件的MD5值,如果兩者不同,說明下載得到的文件出錯了或者文件被篡改了。
另外一種用途是數(shù)字簽名,防止信息在傳輸過程中被篡改,保證信息的完整性,也可以防止信息發(fā)送方的抵賴。