MembershipPasswordFormat 列舉

定義

描述用於儲存成員資格使用者密碼的加密格式。

public enum class MembershipPasswordFormat
public enum MembershipPasswordFormat
type MembershipPasswordFormat = 
Public Enum MembershipPasswordFormat
繼承
MembershipPasswordFormat

欄位

Clear 0

不安全,請勿使用。 不會加密密碼。

Encrypted 2

不安全,請勿使用。 密碼會使用 machineKey 元素組態所決定的加密設定來加密。

Hashed 1

密碼是使用 SHA1 雜湊演算法進行單向加密。 您可以使用 hashAlgorithmType 屬性來指定與 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 的成員資格功能,請參閱 成員資格簡介 ,再繼續進行。 如需與成員資格相關的其他主題清單,請參閱 使用成員資格管理使用者

適用於

另請參閱