2008年12月10日 星期三

11月學習心得

MD5 :
什麼是MD5?所謂的MD5是密碼學中常用的一種保密的方法,不論字串的長短,檔案的大小類型,都將其轉為一固定的長度128位元(16字元)的大小,也當然,因為是從一邊為無限大的範圍,轉換為一固定的大小,是必一定會有重複碰撞的時候,而MD5常用的範圍有檢查下載時的損壞或是檢查下載的東西是否有被更改,因為不同的檔案出現同個驗證碼的機率極低,因此被更動檔案後,所得到的驗證碼幾乎不可能相同,這時如果怕下載到病毒檔之類的,就可以與作者在網站上所提供的驗證碼比對,當然不同就是有問題啦!

MD5英文稱為Message-Digest algorithm 5(信息-摘要算法),是經MD2、MD3、MD4發展而來,現在還有一個MD6,因為之前好像有人破解MD4,據說當時只需要用紙筆就能破解,而後才發展出MD5的,同樣的,也是因為有人破解了MD5才發展出MD6這東西的,而位元數也增加了2倍。

MD5常用之處:

1.比對文章的文整性:

當你下載了一個檔案,你懷疑檔案在下載時毀損,或是被人給修改過,這時只要將作者們給的驗證碼相互比對一下,或是你真的太有時間,再下載一次,不過應該沒人有這麼多時間吧!這時MD5就省時了許多。

2.密碼的儲存:

當你在網路上註冊時,可想過會被站長或是其他人給盜用?如果密碼以明碼儲存在資料庫當中,這可是多麼危險的事情,如果資料庫被駭客入侵,一次就可能有幾十萬的人帳密被盜用,所以現在的會員系統的程式中,大都在註冊時儲存你的MD5值,等到你要登入時,再比對密碼MD5值,這樣密碼就不會被外流了。

曾經有下載過一個程式,功用是比對是否有相同的圖片或者是音樂,對於有大量的資料無法一一去檢查的人真的很方便,我想大概就是利用MD5的特性做出類似這樣子,而不同的檔案名稱對最後的編譯結果似乎也不會產生影響,有圖有證據,但在Blog上看似乎很模糊,反倒是在圖片上開分頁來看圖時就很清楚。


不同檔案名稱竟然還是有相同的驗證碼!
相同的檔案名稱有不同的驗證碼!
相同名稱檔案類型和相同大小,但因為檔案內容的不同,編譯結果也不同!

沒有留言:

張貼留言