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 文件的 节中的 system.webmachineKey Element (ASP.NET Settings Schema ) 元素。 它指定应用程序的 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; ClearEncrypted 不安全。 清除密码不安全,不应使用。 它们以纯文本形式存储。 加密的密码不被视为安全密码,因为泄露数据库内容也会公开加密密钥。 这意味着加密的密码可能会被解密和公开。 密码在存储时加密,可以解密以用于密码比较或密码检索。 哈希密码存储在数据库中时,使用单向加盐哈希进行加密。 验证密码时,它将与 salt 值组合在一起,然后进行哈希处理。 结果与数据库中的值进行比较,以便进行验证。 无法检索哈希密码。

注意

如果不熟悉 ASP.NET 的成员资格功能,请参阅 成员资格简介 ,然后再继续。 有关与成员身份相关的其他主题的列表,请参阅 使用成员身份管理用户

适用于

另请参阅