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 文件的 节中的 system.web
machineKey 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
; Clear
和 Encrypted
不安全。 清除密码不安全,不应使用。 它们以纯文本形式存储。 加密的密码不被视为安全密码,因为泄露数据库内容也会公开加密密钥。 这意味着加密的密码可能会被解密和公开。 密码在存储时加密,可以解密以用于密码比较或密码检索。 哈希密码存储在数据库中时,使用单向加盐哈希进行加密。 验证密码时,它将与 salt 值组合在一起,然后进行哈希处理。 结果与数据库中的值进行比较,以便进行验证。 无法检索哈希密码。
注意
如果不熟悉 ASP.NET 的成员资格功能,请参阅 成员资格简介 ,然后再继续。 有关与成员身份相关的其他主题的列表,请参阅 使用成员身份管理用户。