MembershipPasswordFormat 列舉
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
描述儲存成員資格用戶密碼的加密格式。
public enum class MembershipPasswordFormat
public enum MembershipPasswordFormat
type MembershipPasswordFormat =
Public Enum MembershipPasswordFormat
- 繼承
欄位
| 名稱 | 值 | Description |
|---|---|---|
| Clear | 0 | 不安全,請勿使用。 密碼沒有加密。 |
| Hashed | 1 | 密碼是利用 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 不安全。 清晰密碼並不安全,不應該使用。 它們以純文字形式儲存。 加密密碼不被視為安全,因為一旦資料外洩,資料庫內容也可能暴露加密金鑰。 這表示你的加密密碼可能會被解密並暴露。 密碼儲存時會加密,並可解密以便密碼比較或取回密碼。 雜湊密碼在資料庫中會使用單向加鹽雜湊值加密。 當密碼被驗證時,會與一個鹽值合併,然後進行雜湊處理。 結果會與資料庫中的數值進行比對以供驗證。 雜湊密碼無法被取回。