我有一个程序,用户需要使用用户名和密码登录。
我正在检查master db中的sys.syslogins
表中的名称。
但是对于密码,我收到一个字符串,其中包含(可能)编码字符(1 ????????????)。
现在我该怎么做才能解码该字符串并获取密码以便与输入该字符串进行比较?
答案 0 :(得分:10)
试试这个:
SELECT name FROM sys.syslogins
WHERE pwdcompare('somepassword', password) = 1
已编辑以单引号替换双引号。
答案 1 :(得分:7)
你无法解码sys.syslogins:它是一种单向哈希。
如果它使用相同的技术或通过pwdcompare
运行它,则比较喜欢注意:它在SQL Server 2005 +
中也是sys.sql_logins另外,为什么要使用SQL Server登录来验证用户?这没有意义......