SQL Server中的密码哈希

时间:2017-08-09 11:35:31

标签: sql-server tsql encryption hash sql-server-2014

当用户在页面的文本框中输入内容然后在SQL Server表中转换为此表单时,我有一个password_hash列。

例如,如果用户输入4512,则会将其转换为以下格式:

90 119 218 156 223 147 36 245 171 86 241 32 174 66 192 226 34 75

如何使用T-SQL查询对此进行解密?

任何解决方案?

2 个答案:

答案 0 :(得分:1)

你真的不能,但如果你想尝试猜测它,请使用:

SELECT name FROM sys.sql_logins   
WHERE PWDCOMPARE('EnterPasswordHere', password_hash) = 1 ;  

只返回那些有密码的人。

答案 1 :(得分:1)

any possibilities ? and i am using Dim sha As SHA256....< =不,哈希的目的是提供单向加密。您加密但无法解密。另请参阅SO - Fundamental difference between Hashing and Encryption algorithms

您实际想要做的是创建输入密码的哈希值,并将其与存储的密码哈希值进行比较,看它们是否相等。然后您就知道输入的密码是否与存储的密码匹配。