【问题标题】:ASP.NET password hashing and password saltASP.NET 密码哈希和密码盐
【发布时间】:2011-03-16 16:43:58
【问题描述】:
我正在 ASP.Net Web 表单中创建自定义“添加用户”页面,但遇到了问题。我可以将所有数据插入到会员表中,但密码以纯文本形式存储,并且密码盐已被硬编码。
我如何对密码进行散列处理,以便用户可以登录(因为成员资格框架检查密码散列而不是明文密码)。另外,盐是完全随机的还是以某种方式与密码哈希相关联?
任何帮助将不胜感激,
马克
【问题讨论】:
标签:
asp.net
webforms
asp.net-membership
hash
salt
【解决方案1】:
<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
<providers>
<clear />
<add
name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="MySqlConnection"
applicationName="MyApplication"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
requiresUniqueEmail="true"
passwordFormat="Hashed" />
</providers>
</membership>
查看提到 passwordFormat="Hashed" 的行。您需要制定此设置以对密码进行哈希处理。 PasswordFormat 具有三个值。您选择了您想要的并相应地配置您的应用程序。