2010-12-04 22 views
20

MD5算法是否總是爲相同的字符串生成相同的輸出?MD5算法是否總是爲相同的字符串生成相同的輸出?

正在使用鹽來產生不同的輸出?

+2

你能解釋你爲什麼要問嗎?看起來你想要某種原因的另一種行爲。 – 2010-12-04 15:59:47

+1

這是一個確定性算法。它會怎麼做呢? – 2010-12-04 23:11:10

+0

我不熟悉密碼學與哈希之間的區別。 我認爲它也混淆了RC5 – vfclists 2010-12-04 23:48:13

回答

30

是的,否則MD5將無用於文件驗證等事情。你對非確定性輸出有什麼理由?

6

是的,哈希算法總是產生相同的輸出。如果使用相同的鹽,則對於給定的輸入,這也會始終產生相同的輸出。

5

是的,MD5總是輸出相同的輸入。這就是它用於密碼的方式。將散列存儲在數據庫中,然後當用戶鍵入他們的密碼時,再次散列並對兩個散列進行比較。

注意:MD5不推薦用於哈希密碼,因爲它的加密性較弱。還有更適合的密碼哈希可用,如bcrypt。然而,歷史上它已被用於此目的。

0

是的。 MD5是一個散列函數。

這樣做不是表示MD5是唯一的。多個輸入可映射到相同的散列,但任何給定的輸入只有一個散列。

1

是MD5是確定性的,這被認爲是消息摘要函數的許多應用的理想特性。

至於使用鹽,你真的是指'以某種微妙的方式改變輸入字符串',不是嗎?當然,它也是消息摘要的一個理想的特徵,它們以很高的概率爲不同的消息產生不同的摘要。

相關問題