2012-12-27 80 views
-1

MD5散列字符串還是加密它?如果它散列化,那麼它就像他們所說的單向散列函數一樣,並且原始字符串(或數據)由所產生的散列不可恢復,因爲它僅用於認證。那麼我們如何解釋在線網站的MD5解密?我真的嘗試過它,它會取回原始字符串。這裏是一個這樣的網站:http://www.md5decrypter.co.uk/MD5散列或加密其字符串?

這怎麼可能?

+2

-1因爲,好吧*請搜索*。我推薦維基百科 - 即[MD5](http://en.wikipedia.org/wiki/MD5http) - 作爲此類介紹性問題的一般起點。 – 2012-12-27 21:52:15

+0

@pst我讀了很多有關MD5的信息,我只是問這些網站如果像他們說的單向散列函數那樣如何解密散列? –

+0

該網站清楚地說明他們有一個MD5散列 - >字符串條目的數據庫。你只是在做一個查詢。 –

回答

1

MD5是一種哈希算法,意思是它將任意長度的字符串映射到某個固定長度的字符串。目的是使它很難從MD5散列的輸出開始,並恢復一些散列到該輸出的特定輸入。因爲有無限多的字符串和有限的輸出,它不是一個加密函數,只給出輸出就無法確定哪個輸入產生了輸出。

但是,MD5有很多密碼方面的弱點,並且已被各種其他散列函數(SHA系列)所取代。如果需要加密安全性,我強烈建議不要使用MD5,因爲這裏有更好的算法。

希望這會有所幫助!

1

MD5是一個密碼散列函數。它將可變長度的字符串映射到128位散列值。這是單向的,但代碼可以使用Rainbow Tables快速破解。更何況您發佈的網站說,它有

總共剛剛超過8.7十億獨特解密MD5哈希值...

所以它可以檢查對那些第一次之前就需要嘗試破解它。

0

他們不「解密」,他們發現一個字符串匹配你的散列,這是不一樣的事情,但當你限制自己的普通英文單詞時,它可能很好。

要理解發生了什麼事情,您必須考慮可能的MD5哈希計數 - 2^128,這比英文單詞數(2^16?)多得多,但比所有可能的字符串值少得多2^(互聯網有多少位,然後是一些)

當你從一個較小的集合轉換成一個更大的集合(英文 - > MD5)時,它可能所有的值都會不同,但反過來是不正確的。

底線:使用的密碼不是可以在網上任何地方找到的字符串。