2009-11-27 53 views
1

我正在創建一個帶有註冊用戶的MySQL數據庫,並且我正在考慮使用md5不僅用於密碼,而且還用於電子郵件md5也適用於電子郵件嗎?

我認爲這個選擇可以提高用戶的安全性,但我還不是數據庫專家,我不確定這是否明智!

我希望這不是一個愚蠢的問題!

+0

這是重複的http://stackoverflow.com/questions/1778897/php-should-i-encrypt-email-addresses/ –

+0

有沒有誠實,很好組成愚蠢的問題。這裏沒人是完美的。 – MrChrister

+0

MD5目前已被棄用,已被證明存在一些漏洞。即使這些漏洞不會影響您在此描述的使用,您也可以選擇SHA1。 –

回答

12

您是否不希望能夠在稍後獲取電子郵件地址,例如通過電子郵件發送更新消息?散列是一個單向過程。

對於電子郵件地址使用散列可以在用戶輸入他們的電子郵件地址以獲得新的臨時密碼方面起作用,因爲您將有地址,然後 - 但如果您需要稍後通過電子郵件發送郵件,你不會再有這些信息了。

+1

謝謝,這是一個簡單而明確的答案,那麼我敢肯定,我將需要他們沒有md5散列! – vitto

+8

將任何進一步的問題直接發送給Mr Skeet在cb788e6a9ff319ac19ede912e882c68e;) – micahwittman

2

如果存儲的電子郵件爲MD5摘要,你無法將你的用戶了...

2

MD5是片面的 - 它不能被大家敬仰。對於密碼,這是需要的 - 沒有人可以找出密碼。
對於電子郵件而言,並非如此 - 您將無法將電子郵件發送給您的用戶,只能確認它與以前輸入的相同。

+1

我確信MD5可以被尊敬,只是沒有被扭轉。 :-) – Bevan

0

您可以使用單向散列像MD5或SHA-2 標誌消息使其更難僞造,變造,但對散列轉換回消息沒有切實可行的辦法。

1

你不僅應該MD5你的密碼,而且要多次添加salt值和hash結果密碼,然後在數據庫中保存鹽和散列字符串。這樣就很難猜出原來的密碼了 - 這不是關於你的安全性(破解者可以用同樣的方式暴力破解密碼,但它會慢一點,這是好,),這是關於用戶安全。許多用戶在多個站點使用相同的密碼。更多的信息在http://www.codinghorror.com/blog/archives/000953.html

+0

感謝您的建議,我會收集有關您的鏈接的信息 – vitto

相關問題