
md5是什么?
MD5為計算機安全領域廣泛使用的一種散列函數(shù),用以提供消息的完整性保護。
1991年,Rivest開發(fā)出技術上更為趨近成熟的md5算法。它在MD4的基礎上增加了"安全-帶子"(safety-belts)的概念。雖然MD5比MD4復雜度大一些,但卻更為安全。這個算法很明顯的由四個和MD4設計有少許不同的步驟組成。在MD5算法中,信息-摘要的大小和填充的必要條件與MD4完全相同。Den boer和Bosselaers曾發(fā)現(xiàn)MD5算法中的假沖突(pseudo-collisions),但除此之外就沒有其他被發(fā)現(xiàn)的加密后結果了。
MD5有什么作用?
典型應用是對一段信息(Message)產(chǎn)生信息摘要(Message-Digest),以防止被篡改。比如,在Unix下有很多軟件在下載的時候都有一個文件名相同,文件擴展名為.md5的文件,在這個文件中通常只有一行文本,大致結構如:
MD5 (tanajiya.tar.gz) = 0ca175b9c0f726a831d895e269332461
這就是tanajiya.tar.gz文件的數(shù)字簽名。MD5將整個文件當作一個大文本信息,通過其不可逆的字符串變換算法,產(chǎn)生了這個唯一的MD5信息摘要。為了讓讀者朋友對MD5的應用有個直觀的認識,筆者以一個比方和一個實例來簡要描述一下其工作過程:
大家都知道,地球上任何人都有自己獨一無二的指紋,這常常成為司法機關鑒別罪犯身份最值得信賴的方法;與之類似,MD5就可以為任何文件(不管其大小、格式、數(shù)量)產(chǎn)生一個同樣獨一無二的“數(shù)字指紋”,如果任何人對文件做了任何改動,其MD5值也就是對應的“數(shù)字指紋”都會發(fā)生變化。
新聞熱點
疑難解答