我在sql server 2000中有以下查询:
select pwdencrypt('AAAA')
输出加密的字符串“ AAAA”:
0x0100CF465B7B12625EF019E157120D58DD46569AC7BF4118455D12625EF019E157120D58DD46569AC7BF4118455D
我如何转换(解密)其来源的输出(即“ AAAA”)?
最佳答案
我相信pwdencrypt使用的是散列,因此您无法真正撤消散列的字符串-算法是经过设计的,因此不可能实现。
如果要验证用户输入的密码,通常的技术是对密码进行哈希处理,然后将其与数据库中的哈希版本进行比较。
这是您可以验证用户输入表的方式
SELECT password_field FROM mytable WHERE password_field=pwdencrypt(userEnteredValue)
将userEnteredValue替换为用户输入的值(大吃一惊:)