上一篇文章整理了Base64算法的相關(guān)知識(shí),嚴(yán)格來說,Base64只能算是一種編碼方式而非加密算法,這一篇要說的MD5,其實(shí)也不算是加密算法,而是一種哈希算法,即將目標(biāo)文本轉(zhuǎn)化為固定長度,不可逆的字符串(消息摘要).

簡單了解

  MD5(Message Digest Algorithm 5),翻譯過來是消息摘要算法第五版,按照慣例,我們推理可能也有MD2,MD3這樣名字的歷史版本..

  即使完全不了解這個(gè)算法的原理,我們也可以從命名中看出一些眉道,所謂摘要,就是一個(gè)簡短的概括,像我寫過的畢業(yè)論文,上來第一部分就是摘要,它對(duì)后面長篇大論的文章做了一個(gè)簡短有力的概括,其實(shí)MD5的作用也有點(diǎn)這樣的味道,我們來看一段關(guān)于描述MD5算法作用的文字:

  MD5的作用是讓大容量信息在用數(shù)字簽名軟件簽署私人密匙前被"壓縮"成一種保密的格式(就是把一個(gè)任意長度的字節(jié)串變換成一定長的大整數(shù)),它主要用于確保數(shù)據(jù)傳輸?shù)耐暾院鸵恢滦?

  假設(shè)A要給遠(yuǎn)方的B發(fā)送一個(gè)文本文件,有100萬字,當(dāng)B收到文件的時(shí)候,該怎么知道這個(gè)文件在傳過來的途中有沒有被篡改呢,要是有人中途截?cái)嗖⒋鄹牧宋募?nèi)容那就不太妙了,這時(shí)候MD5就派上用場了,不管多大的文件,通過MD5加密之后都會(huì)得到一個(gè)定長的字符串,一般是32位,這時(shí)候A先對(duì)文件用MD5加密一下,得到的一串密文順便也傳給B,當(dāng)B收到后文件,同樣對(duì)文件用MD5加密一下,看看得到的密文是否和A傳過來的一致,如果一致,說明這個(gè)文件是安全的.這樣就確保了數(shù)據(jù)傳輸?shù)耐暾?

  事實(shí)上,我們從網(wǎng)絡(luò)上下載文件的時(shí)候,有時(shí)候下載的文件后面都有一段MD5的密文,比如 MD5(e8027a87676ea48b3a3c9b0a4d8d87a0),作用和上面我舉得例子類似(我覺得是這樣....).

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式