我想实现一个功能,假如有字符串A显示是“1234a”,我想把这个字符串转换成乱码,或不知道的字符串B,假如是“ab21232”,但是我读取这个B字符串时,转换成A字符串“1234a”。其实这个就是一个简单的密码,比如我录入密码的字符串是“123abc”,当我存入表的某一个字段时,当然是不能以“123abc”,转换成其它看不懂的字符,假如是“xxserda”,但是读取这个看不懂的字符时,显示原来的密码字符串“123abc”,请问用sql语句如何来写的?或者有没有现成的sql代码
调试欢乐多
create function Decrypt(@Str varchar(20), @Seed int)
returns varchar(20)
as
begin
declare @p int, @b varchar(20)
select @b='',@p=len(@Str)-1
while @p<>0
begin
set @p=len(@Str)-1
set @b=@b+char(ascii(left(@Str,1))^6)
set @Str=substring(@Str,2,@p)
end
return(@b)
end--加密
select dbo.Decrypt('1234a',5)
--结果
--------------------
7452g(1 行受影响)--解密
select dbo.Decrypt('7452g',5)
--------------------
1234a(1 行受影响)
上面函数写错了...create function Decrypt(@Str varchar(20), @Seed int)
returns varchar(20)
as
begin
declare @p int, @b varchar(20)
select @b='',@p=len(@Str)-1
while @p<>0
begin
set @p=len(@Str)-1
set @b=@b+char(ascii(left(@Str,1))^@Seed)
set @Str=substring(@Str,2,@p)
end
return(@b)
end