MembershipPasswordFormat 列舉
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
描述用於儲存成員資格使用者密碼的加密格式。
public enum class MembershipPasswordFormat
public enum MembershipPasswordFormat
type MembershipPasswordFormat =
Public Enum MembershipPasswordFormat
- 繼承
欄位
Clear | 0 | 不安全,請勿使用。 不會加密密碼。 |
Encrypted | 2 | 不安全,請勿使用。 使用machineKey元素組態所決定的加密設定來加密密碼。 |
Hashed | 1 | 密碼是使用 SHA1 雜湊演算法進行單向加密。 您可以使用 由於 SHA1 的衝突問題,Microsoft 建議使用 SHA256。 |
範例
下列範例顯示 ASP.NET 應用程式之 Web.config 檔案區段中 的 machineKey 元素 (ASP.NET 設定架構) 元素 system.web
。 它會指定應用程式的實體, SqlMembershipProvider 並將密碼格式設定為 Hashed
。
此範例使用SHA1。 由於 SHA1 的衝突問題,Microsoft 建議使用 SHA256。
<membership defaultProvider="SqlProvider"
userIsOnlineTimeWindow="20" hashAlgorithmType="SHA1">
<providers>
<add name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="SqlServices"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
passwordFormat="Hashed"
applicationName="MyApplication" />
</providers>
</membership>
備註
類別 SqlMembershipProvider 支援不同的密碼儲存格式,但您應該只使用 Hashed
; Clear
而且 Encrypted
不安全。 清除密碼不安全,不應使用。 它們會以純文本儲存。 加密的密碼不被視為安全,因為顯示資料庫內容的缺口也可以公開加密密鑰。 這表示您的加密密碼可以解密並公開。 密碼會在儲存時加密,並可解密以進行密碼比較或密碼擷取。 哈希密碼會在儲存在資料庫中時,使用單向 Salt 哈希進行加密。 驗證密碼時,它會與 salt 值結合,然後哈希。 結果會與資料庫中的值進行比較,以進行驗證。 您無法擷取雜湊的密碼。
注意
如果您不熟悉 ASP.NET 的成員資格功能,請參閱 成員資格簡介 ,再繼續進行。 如需與成員資格相關的其他主題清單,請參閱 使用成員資格管理使用者。