如何加密密码

时间:2010-05-22 16:53:44

标签: asp.net asp.net-mvc

如何加密asp.net MVC中的密码字段以加密形式存储?

4 个答案:

答案 0 :(得分:3)

典型的工作流程包括生成salt值并使用它来散列密码,然后将它们存储在行中。这在许多地方都有详细记录,很容易搜索。

如果你真的想要一种快速哈希或加密的方法,请看看FormsAuthentication.HashPasswordForStoringInConfigFile

答案 1 :(得分:2)

如果您担心通过网络发送纯文本,请使用https。然后,您是否使用https使用单向散列算法(如Sha256)来“加密”密码并将其存储在您的数据库(或您正在使用的任何持久存储)中。当用户登录时,使用相同的算法将他们输入的文本转换为散列文本,并将散列文本与数据库中的散列文本进行比较。

答案 2 :(得分:1)

我找到的最简单方法是使用Membership Provider from ASP.NET。然后你可以在web.config中配置它,如下所示:

<system.web>
  <membership>
    <providers>
      <clear />
      <add 
        name="AspNetSqlMembershipProvider" 
        (...) 
        passwordFormat="Hashed" 
        (...) />
    </providers>
  </membership>

答案 3 :(得分:0)

我发现的最佳方法(以及facebook的确切方式)

当用户进入浏览器时,javascript先加密,然后发送到应用程序,用MVC加密最后存储在你的数据库中。

当用户忘记密码时,只需要登录密码。做一些像密码重置= D

http://forums.asp.net/t/1211478.aspx/1?How+do+I+use+Sha256+to+Encrypt+a+String+