设想:
- 使用 SQL Server 2005 的旧 ASP.NET 2.0 应用程序。
- 密码以纯文本形式存储在数据库中
- 我们想升级应用程序以使用表单身份验证
- 需要重新创建所有密码,就像表单身份验证一样
问题:
- 我们如何使用 T-SQL 生成哈希密码(带盐)以存储在数据库中,这与表单身份验证生成的密码相同:
那么如何创建这个:
DHSicgbY+Av0LyQpBZl2M5EuyOk=
哪个是散列密码(加盐),但使用 T-SQL 代替?
设想:
问题:
那么如何创建这个:
DHSicgbY+Av0LyQpBZl2M5EuyOk=
哪个是散列密码(加盐),但使用 T-SQL 代替?
在 SQL Server 2005 下,使用HASHBYTES()最好使用 SHA1 哈希算法。(SQL Server 2012 现在支持 SHA-256 和 SHA-512)
您可以使用NEWID()
为您的盐生成随机 GUID。
返回其输入的 MD2、MD4、MD5、SHA 或 SHA1 哈希。
正如@von v. 指出的那样:T-SQL:加盐密码