很多朋友并不是很了解md5是什么,針對(duì)這個(gè)問題,我們這邊做一下簡(jiǎn)單的介紹。md5為計(jì)算機(jī)安全領(lǐng)域廣泛使用的一種散列函數(shù),用以提供消息的完整性保護(hù)。
(資料圖)
md5是什么?
1991年,Rivest開發(fā)出技術(shù)上更為趨近成熟的md5算法。它在MD4的基礎(chǔ)上增加了"安全-帶子"(safety-belts)的概念。雖然md5比MD4復(fù)雜度大一些,但卻更為安全。這個(gè)算法很明顯的由四個(gè)和MD4設(shè)計(jì)有少許不同的步驟組成。在md5算法中,信息-摘要的大小和填充的必要條件與MD4完全相同。Den boer和Bosselaers曾發(fā)現(xiàn)md5算法中的假?zèng)_突(pseudo-collisions),但除此之外就沒有其他被發(fā)現(xiàn)的加密后結(jié)果了。
md5是什么?md5有什么作用?
典型應(yīng)用是對(duì)一段信息(Message)產(chǎn)生信息摘要(Message-Digest),以防止被篡改。比如,在Unix下有很多軟件在下載的時(shí)候都有一個(gè)文件名相同,文件擴(kuò)展名為.md5的文件,在這個(gè)文件中通常只有一行文本,大致結(jié)構(gòu)如:
md5 (tanajiya.tar.gz) = 0ca175b9c0f726a831d895e269332461
這就是tanajiya.tar.gz文件的數(shù)字簽名。md5將整個(gè)文件當(dāng)作一個(gè)大文本信息,通過其不可逆的字符串變換算法,產(chǎn)生了這個(gè)唯一的md5信息摘要。為了讓讀者朋友對(duì)md5的應(yīng)用有個(gè)直觀的認(rèn)識(shí),筆者以一個(gè)比方和一個(gè)實(shí)例來簡(jiǎn)要描述一下其工作過程:
大家都知道,地球上任何人都有自己獨(dú)一無二的指紋,這常常成為司法機(jī)關(guān)鑒別罪犯身份最值得信賴的方法;與之類似,md5就可以為任何文件(不管其大小、格式、數(shù)量)產(chǎn)生一個(gè)同樣獨(dú)一無二的“數(shù)字指紋”,如果任何人對(duì)文件做了任何改動(dòng),其md5值也就是對(duì)應(yīng)的“數(shù)字指紋”都會(huì)發(fā)生變化。
以上就是有關(guān)md5是什么的簡(jiǎn)單介紹,常常在某些軟件下載站點(diǎn)的某軟件信息中看到其md5值,它的作用就在于我們可以在下載該軟件后,對(duì)下載回來的文件用專門的軟件(如Windows md5 Check等)做一次md5校驗(yàn),以確保我們獲得的文件與該站點(diǎn)提供的文件為同一文件。利用md5算法來進(jìn)行文件校驗(yàn)的方案被大量應(yīng)用到軟件下載站、論壇數(shù)據(jù)庫、系統(tǒng)文件安全等方面。