1

フォーム ログインがあり、ログイン名とパスワードがシステム テーブル master.dbo.syslogins の名前とパスワードと一致するかどうかを確認したいのですが、列のパスワードが暗号化されていました。このような手順:

    create proc checklogin(@name nchar(10), @password nvarchar, @tb nchar(10) out)
as
if Exists (select * from master.dbo.syslogins where name = @name and password=@password)
begin
set @tb='success';
else set @tb='fail';

データベースで暗号化されているため、パスワードを比較できません。パスワードを確認する別の方法またはパスワードを解読する方法があるかどうかを知りたいです。

4

1 に答える 1

0

PWDCOMPARE() 関数を使用します。

select * from master.dbo.syslogins 
where name = @name and PWDCOMPARE(@password,password) = 1
于 2013-05-14T08:14:17.310 に答える