它常被误用作加密算法,在仅仅比较两个密文是否相同,用以证明明文是否相同的场景下还行,但期望还原出明文是不可能的。
密码字段类型改成 varbinary(255)--新增或修改密码
create proc modifypwd
@uid varchar(16),@pwd varchar(16)
as
declare @encode varbinary(255)
set @encode=convert(varbinary(255),pwdencrypt(@pwd))
if exists(select uid from [user] where uid=@uid)
update [user] set pwd=@encode where uid=@uid
else
insert into [user](uid,pwd) values(@uid,@encode)
go
--判断密码是否正确
CREATE proc checkid
@uid varchar(16),@pwd varchar(16)
as
declare @encode varbinary(255)
select @encode=pwd from [user] where uid=@uid
if pwdcompare(@pwd,@encode,0)='1'
select '登录成功'
else
select '用户名或密码错'
GO
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)