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