declare @pass varchar(100)
declare @password binary(100)
set @pass='abcdefg'set @password=convert(binary,@pass)set @pass=convert(varchar(100),@password)print @password
print @pass
declare @password binary(100)
set @pass='abcdefg'set @password=convert(binary,@pass)set @pass=convert(varchar(100),@password)print @password
print @pass
解决方案 »
- 字段组合的查询
- 大家讨论一下SQL的优化吧
- 这样的数据库结构该如何设计(在线等)
- 请教数据库查询结果合并问题
- sp_lock 结果中 Resource 相同代表什么
- 财鸟提问,简单异常
- 求一触发器代码,就1张表1个字段,在线等,迅速揭帖。那叫一个效率。
- OPENROWSET 读取UTF_8格式txt 中文乱码
- ---------------------------------************************DTS 中的动态属性任务如何设置相对路径*******************----------------
- sql效率问题,请大神解惑!
- 烦请写个SQL函数
- 求助,SQL不能注册远程服务器。。。。。
解密 pwdcompare(@password, Staff_Password) = 1 0,不对,1对
这两个系统函数没有被公开,所以你在帮助里看不到,但是可以在系统的存储过程里找到
pwdcompare
----------
没听说过,也没找到
双击sp_addlogin
查看代码!
你真N,PFPF
第一个我用对了,但第二个PWDCOMPAR我怎么不会用
能用PWDCOMPAR输出个直,我来严正密码正确与否!
select pwdcompare('abcd',pwdencrypt('abcd')) --比较,返回1相等,0则反之。但是如果你忘记了密码那就有点晕了,pwdencrypt('abcd') 只能加密,但pwdcompare只能比较.
如果忘了密码,拿什么比较呢.建议还是用邹建的自定义函数吧.
create function f_jmstr(@str varchar(8000),@pwdstr varchar(8000))
returns varchar(8000)
As
begin
declare @re varchar(8000)
declare @i int
select @i=len(@str),@re=''
while len(@pwdstr)<@i
set @pwdstr=@pwdstr+'123'+@pwdstr
while @i>0
select @re=
nchar(unicode(substring(@str,@i,1))^unicode(substring(@pwdstr,@i,1)))
+@re
,@i=@i-1
return(@re)
end
go
----------------------------------------调用举例-----------------------------
select dbo.f_jmstr('ework','aaaa') --把ework用aaaa来加密
select dbo.f_jmstr(dbo.f_jmstr('ework','aaaa'),'aaaa')--把 加密后的字符用aaaa
来解密