2015-06-03 218 views
0

我目前使用mvc 5模板進行編碼。密碼當前被散列。我想恢復這個密碼,以便我可以通過電子郵件發送,如果該人忘記了他/她的密碼。 散列密碼恢復的任何提示?哈希密碼恢復

+10

***否否否***。你***不能恢復散列密碼 - 這就是整個問題!而且你應該永遠不要發郵件密碼!給用戶一個密碼重置鏈接。嘆息,這是2015年 - 有足夠的資源解釋如何以正確的方式做事 - 人們什麼時候能夠得到它? –

+0

[密碼恢復無需通過電子郵件發送密碼]的可能重複(http://stackoverflow.com/questions/1041181/password-recovery-without-sending-password-via-email) –

+1

您是否看到[this](http: //www.asp.net/identity/overview/features-api/account-confirmation-and-password-recovery-with-aspnet-identity)? –

回答

4

您的方法根本錯誤!

哈希密碼不容易被「取消哈希」,因爲這是哈希的整個點。舉個例子來說,一個數字的總和在數學: 435 -> 4+3+5 = 12

這裏,435將密碼和12將哈希值。以這種方式散列相同的數字將每次都得到相同的結果。但是,您不能倒退,因爲其他組合也可以組成12個(9+3,2+2+2+2+2+2,...)。

你可以使用彩虹表,但你會試圖破解自己。這絕對是不是你想要做什麼。你想想要做,而不是讓用戶重置他們的密碼。給他們發送一個鏈接,他們可以做到這一點。

+1

重置應該是更好的選擇。感謝隊友 – Ravz

+0

Ravz,考慮將此答案標記爲*接受*(勾號)。或者,您也可以提供自己的答案,然後將其標記爲已接受。最壞的情況下,你甚至可以刪除你的問題。問題是,你的問題目前仍然是*打開*;如果我們可以將它標記爲*解決*或以其他方式將其從Stack Overflow的管道中取出,那將會很好。 – domsson