大概是研究所一年級那時,老師有天上課提到,你們知道什麼是 MD5 嗎?它已經被破解了!

在 2004 年,山東大學王小雲教授在一場國際密碼學會議中提出破解 MD5 相關研究,引起全場譁然,正式宣告 MD5 已經不再是單向的雜湊演算法了。

今早冰漾傳給我這個網址,http://md5.rednoize.com/ ~ 原來從 2005 年 2 月它就上線了

透過這網站可直接查出 MD5 加密前與加密後的結果 ( 它只能查出已經計算過的結果,而不是輸入後馬上就計算! ) ,突然想到我過去寫 PHP  都是用 MD5 來做編碼並存在 MySQL 裡,如果被人家看到不就表示密碼也會被看光光了 ?!!! 那到底還有什麼加密函式靠得住呢?

其實 MySQL 就有內建的 Password Hashing Function 了!使用方法如下

insert into table_name values (password('String'))
select * from table_name where password = password('String')

拿 123 這個字串來測試,結果如下

MD5 : 202cb962ac59075b964b07152d234b70
MySQL Password Function : *23AE809DDACAF96AF0FD78ED04B6A265E05AA257

前面那個 * 是自己產生出來的 ( 經不同字串測試皆有此符號 ),總共有 41 個字元,是個很怪的數字 XD ~ 若在 MySQL 上不想再用 md5 編碼的話,可考慮改用內建的 Password Hashing Function !

另外 PHP 內建的 Mhash Function 也可以頂著來用 ( 這在安裝時要編進去,還要再配合 bin2hex 來用,以上不負責言論感謝風和日麗補充 ),目前看起來 SHA-1 or SHA-256 比較頂得住

Posted by bojack at 痞客邦 PIXNET Comments(2) Trackback(0) Hits(1577)


open trackbacks list Trackbacks (0)

Comments (2)

Post Comment
  • 我看那個查詢的網頁~
    他似乎只是搜尋既有已經被算出來的資料
    其實不管怎樣都有危險性啦
  • 嗯嗯,上面那網頁是記錄已經計算出的 MD5 ~ 並不是說輸入後馬上就可以計算,沒有說清楚,Sorry :p

    bojackreplied on 2007/12/19 06:30

  • MD5應該不算被破解吧
    宣告的內容
    "正式宣告 MD5 已經不再是單向的雜湊演算法了。"
    似乎有點誇大
    該網站頂多是個"查詢網頁"
    類似將MD5算出的值與原本的值作對應罷了
    應該還沒到逆向演算喔

Comment Permissions: Allow commenting

Leave Comment

*Name/Nickname
E-mail
Personal Website
Comment Title
*Comment
* Private Comment