我有md5格式的密碼數據庫項,但是當用戶使用「忘記密碼」時,我該如何給他/她所需的密碼?我有md5加密密碼,當他使用「忘記密碼」時如何給用戶提供密碼?
回答
你不能從MD5哈希中做到這一點;你也不應該能夠。密碼恢復應該是棘手的。
通常的過程是發送一個密碼重置令牌(URL)到他們的電子郵件地址,以便用戶可以選擇一個新的密碼。
謝謝@Marcelo Cantos – 2011-11-17 09:51:35
如果不將密碼放在數據庫中,這是不可取的,但您可以生成一個新密碼併發送給他們。或者他們可以重置密碼的鏈接。
給出密碼的長度,您有1/100的機會恢復該密碼(字典方法)。我不會推薦它。
最好生成一個新的隨機密碼,並將其發送給用戶的電子郵件。
遠遠低於實際上,這就是整個散列點:簡單而快速的一種方法(數據散列),複雜和非常緩慢(正如在「正確完成時幾乎不可能」)在另一個方向(散列到數據)。 – Piskvor 2010-12-13 11:52:40
@Piskvor其實這只是我的估計。 :P它將取決於使用的字典。 – Ruel 2010-12-13 11:53:52
如果您獲得1/100的回收率。你有一個非常不安全的系統。事實上,您可以使用各種md5 de /編碼器測試您自己的系統的恢復速率。拍攝0%的恢復。 http://www.md5decrypter.com/ – DampeS8N 2010-12-13 12:37:01
您必須發送new password
給用戶,然後再設置到數據庫中。否則原始密碼可能無法恢復。
謝謝。
您不能 - MD5僅僅是一種「單向」散列 - 不是加密數據的手段,可以隨後對其進行解密。
因此,總的思路是:
向用戶發送電子郵件給他們的註冊地址與它重置鏈接。 (以證明他們實際上擁有該地址)。重置鏈接應該包含基於其特定用戶數據的某些方面的散列,因此不容易被猜出等(例如:帳戶創建時間。)
當用戶點擊鏈接時,他們登錄密碼重置頁面,檢查上面的散列,生成一個新的密碼(理想情況下是上/下和一些數字字符的混合,雖然我總是傾向於忽略字符,如'0',' o','O'等),然後通過電子郵件向用戶發送新密碼,建議他們儘快更改密碼。
用戶可以按照慣例登錄並訪問該網站。
我只是跳過發送新密碼的第二封電子郵件。讓用戶直接從該鏈接更改密碼。 – Danosaure 2010-12-13 16:55:03
- 1. PHP:如何在用戶點擊忘記使用md5加密的密碼時向用戶發送原始密碼?
- 2. 用密碼提供密碼
- 3. 如何恢復用戶忘記密碼,如果密碼是saltedhash?
- 4. 忘記密碼
- 5. 發送密碼鏈接到時用戶忘記密碼
- 6. 重置密碼,如果有人忘記了他的密碼
- 7. 如何在iPhone中忘記密碼忘記密碼
- 8. 如果用戶忘記密碼,通過郵件發送密碼
- 9. 加密使用此代碼來加密我的密碼使用MD5
- 10. 在md5中加密密碼?
- 11. MD5密碼解密
- 12. SFHFKeychainUtils「忘記」我的用戶密碼
- 13. 使用md5.js和PHP解密的客戶端密碼加密
- 14. 忘記密碼URL
- 15. CakePHP忘記密碼
- 16. struts2忘記密碼
- 17. AngularJS忘記密碼
- 18. 忘記密碼Codeigniter3
- 19. 加密的文件與密碼衍生的密碼...如果用戶忘記密碼怎麼辦
- 20. 如何比較Microsoft Access密碼與用戶提供的密碼?
- 21. 用於忘記密碼
- 22. 忘記我的密碼git
- 23. Hybris如何提供MD5密碼哈希?
- 24. 發送密碼,如果用戶忘記
- 25. 將md5加密的密碼轉換爲解密的密碼wordpress
- 26. 忘記密碼沒有更新加密碼哈希
- 27. 未加密密碼的加密密碼用戶羣
- 28. MD5加密表中的所有密碼
- 29. iphone用戶名密碼MD5
- 30. 提供密碼
Oblig。 nitpick:MD5函數是* hashing * - 信息從結果中丟失,原始數據不可恢復。使用*加密* OTOH,可以使用正確的密鑰完全恢復原始數據。 – Piskvor 2010-12-13 11:49:24
可能重複[是否可以解密md5哈希?](http://stackoverflow.com/questions/1240852/is-it-possible-to-decrypt-md5-hashes) – 2013-01-07 23:26:34