3

设想:

  • 使用 SQL Server 2005 的旧 ASP.NET 2.0 应用程序。
  • 密码以纯文本形式存储在数据库中
  • 我们想升级应用程序以使用表单身份验证
  • 需要重新创建所有密码,就像表单身份验证一样

问题:

  • 我们如何使用 T-SQL 生成哈希密码(带盐)以存储在数据库中,这与表单身份验证生成的密码相同:

那么如何创建这个:

DHSicgbY+Av0LyQpBZl2M5EuyOk=

哪个是散列密码(加盐),但使用 T-SQL 代替?

4

1 回答 1

0

在 SQL Server 2005 下,使用HASHBYTES()最好使用 SHA1 哈希算法。(SQL Server 2012 现在支持 SHA-256 和 SHA-512)

您可以使用NEWID()为您的盐生成随机 GUID。

返回其输入的 MD2、MD4、MD5、SHA 或 SHA1 哈希。

正如@von v. 指出的那样:T-SQL:加盐密码

于 2013-02-21T00:28:21.733 回答