ASP.NET密码哈希和密码盐

时间:2011-03-16 16:43:58

标签: asp.net webforms asp.net-membership hash salt

我正在ASP.Net网络表单中创建一个自定义的“添加用户”页面并遇到了问题。我可以将所有数据插入到成员资格表中,但密码以纯文本格式存储,密码salt已经过硬编码。

如何对密码进行散列以便用户可以登录(因为成员资格框架会检查密码哈希而不是明文密码)。盐,是完全随机的盐还是以某种方式链接到密码哈希?

非常感谢任何帮助,

马克

1 个答案:

答案 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有三个值。您选择了所需的那个并相应地配置您的应用程序。