Asp.net

如何?在 ASP.NET 中加密和解密使用者成員密碼

  • November 30, 2011

我們正在使用 ASP.NET 會員提供程序創建一個新站點,用於使用者註冊和登錄。我們的舊系統加密了使用者密碼,以便我們可以在需要時恢復它們。

我很難確定是否可以使用 ASP.NET 成員資格函式在使用者註冊時簡單地加密密碼,然後將其解密以便我可以看到它。

這方面的文件幾乎不存在。

我知道如何配置 Web.config 讓它在提供程序中將密碼儲存為加密的 ala passwordFormat=“Encrypted” 並在 machineKey 中分配一個validationKey,但是密碼似乎仍然被散列(儘管它可能只是加密得很好) . 無論哪種方式,如果需要,我都無法確定如何(由我們)恢復密碼。

謝謝!

以可恢復格式儲存密碼是一個非常糟糕的主意。如果您可以恢復它們,那麼闖入您伺服器的任何人都可以。

您最好使用標準雜湊+鹽方法並使用密碼重置機制來處理使用者忘記密碼的情況。

您需要使用 passwordFormat=“Encrypted” 而不是 passwordFormat=“Hashed”。然後可以在必要時使用MembershipProvider 的 DecryptPassword 方法來解密密碼。

引用自:https://stackoverflow.com/questions/3017301