SQLserver里面的加密函数
+展开
-SQL
--SQL 内部函数(单向不可逆)
select pwdencrypt('nofc') --加密
select pwdcompare('nofc',pwdencrypt('nofc')) --比较,返回1相等,0则反之。
--邹建的加密函数(双向可逆)
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('nofc','hehe') --把ework用lhtlht来加密
select dbo.f_jmstr(dbo.f_jmstr('nofc','hehe'),'hehe')--把加密后的字符用lhtlht来解密
select pwdencrypt('nofc') --加密
select pwdcompare('nofc',pwdencrypt('nofc')) --比较,返回1相等,0则反之。
--邹建的加密函数(双向可逆)
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('nofc','hehe') --把ework用lhtlht来加密
select dbo.f_jmstr(dbo.f_jmstr('nofc','hehe'),'hehe')--把加密后的字符用lhtlht来解密
加支付宝好友偷能量挖...