如何解码sys.syslogins表中的密码

Lef*_*nis 1 sql-server security sql-server-2005 sql-server-2008

我有一个程序,用户需要使用用户名和密码登录.我正在检查sys.sysloginsmaster db中的表名.但是对于密码,我收到一个字符串,其中包含(可能)编码字符(1 ????????????).现在我该怎么做才能解码该字符串并获取密码以便与输入该字符串进行比较?

Gon*_*alo 10

试试这个:

SELECT name FROM sys.syslogins
WHERE pwdcompare('somepassword', password) = 1
Run Code Online (Sandbox Code Playgroud)

编辑用单引号替换双引号.


gbn*_*gbn 7

你无法解码sys.syslogins:它是单向散列.

如果它使用相同的技术或通过pwdcompare运行它,你比较喜欢

注意:它也sys.sql_logins在SQL Server 2005+

另外,为什么要使用SQL Server登录来验证用户?它没有意义......