語言

MembershipPasswordFormat 列舉

定義

描述儲存成員資格用戶密碼的加密格式。

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

欄位

名稱 值 Description
Clear 0

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

Hashed 1

密碼是利用 SHA1 雜湊演算法單向加密的。 你可以透過屬性 hashAlgorithmType 指定與 SHA1 演算法不同的雜湊演算法。

由於 SHA1 的衝突問題,Microsoft 建議使用 SHA256。

Encrypted 2

不安全,請勿使用。 密碼會依照機器鑰匙元素設定所設定的加密設定進行加密。

範例

以下範例展示了 Web.config 檔案中區塊中的system.web元素,適用於 ASP.NET 應用程式。 它指定應用程式的實例, 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 不安全。 清晰密碼並不安全,不應該使用。 它們以純文字形式儲存。 加密密碼不被視為安全,因為一旦資料外洩,資料庫內容也可能暴露加密金鑰。 這表示你的加密密碼可能會被解密並暴露。 密碼儲存時會加密,並可解密以便密碼比較或取回密碼。 雜湊密碼在資料庫中會使用單向加鹽雜湊值加密。 當密碼被驗證時,會與一個鹽值合併,然後進行雜湊處理。 結果會與資料庫中的數值進行比對以供驗證。 雜湊密碼無法被取回。

Note

如果您不熟悉 ASP.NET 的會員功能,請先閱讀會員 介紹 再繼續閱讀。 關於會員資格的其他主題列表,請參見「 使用會員管理使用者」。

適用於

另請參閱