2012-10-20 67 views
1

我無法將用戶的密碼發送到他的電子郵件。 everthing正常,但問題是,密碼是MD5散列,當我發送密碼給用戶散列MD5密碼看起來不是原來的。 我想發送原始,同時保持密碼散列 我該怎麼做?發送用戶密碼到他的電子郵件...使用php

+3

如果你不保存原始密碼,當你哈希它,你不能拿回來。你爲什麼通過電子郵件發送密碼,如果用戶忘記密碼,他們會重置密碼。 – Musa

+3

Eww .... Plz不這樣做。只需提供一個鏈接來重置他的密碼。 – itachi

+1

提供重置密碼的鏈接更合適。 你無法解密md5'd項目。 – nu6A

回答

0

允許他通過發送到他的電子郵件的「特殊」鏈接重置密碼。一旦他點擊了這個鏈接 - 更新數據庫說他點擊了鏈接(因此到期),然後讓他回答一個「重置」問題,如他的DOB或他輸入的電話號碼。或其他一些問題。

之後,讓他選擇一個新的密碼 - 你就完成了。

2

將應用程序保存到數據庫後,您永遠不應該能夠以純文本方式恢復密碼;我們準確地輸入密碼以使其成爲真實。如果用戶忘記了自己的密碼,請發送指向註冊電子郵件的鏈接以重置密碼並覆蓋數據庫中的舊密碼。

1

在這種情況下,您可以使用SHA1算法。在MD5中,您可以編碼,但無法使用任何算法進行解碼。

0

您不允許解碼md5字符串。所以最好的選擇是用安全問題或類似的方法再次驗證用戶,並讓他重置密碼。此外,這是一種更好的做法,因爲用戶可能在許多地方使用相同的密碼。

或者,您可以爲您自己的用戶重置密碼。 只需使用隨機字符串或自己的一個字符串,然後使用md5並更新密碼。然後,您可以將該隨機字符串或您設置的字符串發送給用戶。

希望這有助於

相關問題