转换asp.net应用程序以使用asp.net表单身份验证-SQL Server中的密码哈希



场景:

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

问题:

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

那么如何创建这个:

DHSicgbY+Av0LyQpBZl2M5EuyOk=

哪个是散列密码(加上salt),但使用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:Salted Passwords

相关内容

  • 没有找到相关文章

最新更新