本文共 825 字,大约阅读时间需要 2 分钟。
一个 值,表示用于在 SQL Server 数据库中存储密码的格式。
SQL Server 成员资格提供程序支持 Clear、Encrypted 和 Hashed 密码格式。Clear 密码以明文形式存储,可提高密码存储和检索的性能,但安全性较低,因为如果 SQL Server 数据库的安全受到威胁,可轻松读取密码。Encrypted 密码在存储时加密,并可解密以进行密码比较或密码检索。此类密码在存储和检索时需要进行额外的处理,但比较安全,在 SQL Server 数据库的安全性受到威胁时不容易被获取。Hashed 密码在存储到数据库时使用单向哈希算法和随机生成的 salt 值进行哈希计算。在验证某一密码时,将用数据库中的 salt 值对该密码进行哈希计算以进行验证。无法检索哈希密码。
ASP.NET 应用程序的 Web.config 文件的 节中指定了 PasswordFormat 值。
Encrypted 和 Hashed 密码默认情况下基于配置的 元素中提供的信息进行加密或哈希计算。请注意,如果为 validation 属性指定了 3DES 值,或者没有指定值,则将使用 算法对哈希密码进行哈希计算。
可使用 配置元素的 hashAlgorithmType 属性定义一个自定义哈希算法。如果选择加密,默认密码加密则使用 AES。可以通过设置 配置元素的 decryption 属性更改加密算法。如果要对密码进行加密,则必须为 元素中的 decryptionKey 属性显式提供一个值。对 ASP.NET 成员资格使用加密密码时不支持 decryptionKey 属性的 AutoGenerate 默认值。
本文转自xwdreamer博客园博客,原文链接:http://www.cnblogs.com/xwdreamer/archive/2009/12/31/2297180.html,如需转载请自行联系原作者