当用户在页面的文本框中输入内容然后在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查询对此进行解密?
任何解决方案?
答案 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
您实际想要做的是创建输入密码的哈希值,并将其与存储的密码哈希值进行比较,看它们是否相等。然后您就知道输入的密码是否与存储的密码匹配。