SQL Server 2008中的PWDENCRYPT每次加密相同的数据会有不同的结果吗?

时间:2012-11-27 05:27:55

标签: asp.net-mvc sql-server-2008

我使用pwdencrypt创建系统的用户ii通过在sql server 2008中加密来保存密码。当我尝试登录时我再次使用pwdencrypt关键字在sql server中加密密码,发现sql server中的加密密码不同了最近输入密码。确保我再次这样做,并发现每个tym相同密码的加密结果是不同的。

1 个答案:

答案 0 :(得分:1)

它不会加密您的密码,它会返回密码哈希。

在检查密码是否正确时,您应该使用pwdcompare

试试这个:

declare @P varbinary(128)
set @P = pwdencrypt('PassWord')

if pwdcompare('PassWrod', @P) = 1
  print 'Yes'
else
  print 'No'

if pwdcompare('PassWord', @P) = 1
  print 'Yes'
else
  print 'No'