我正在ASP.Net网络表单中创建一个自定义的“添加用户”页面并遇到了问题。我可以将所有数据插入到成员资格表中,但密码以纯文本格式存储,密码salt已经过硬编码。
如何对密码进行散列以便用户可以登录(因为成员资格框架会检查密码哈希而不是明文密码)。盐,是完全随机的盐还是以某种方式链接到密码哈希?
非常感谢任何帮助,
马克
答案 0 :(得分: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有三个值。您选择了所需的那个并相应地配置您的应用程序。