|
|
|
|
|
|
|
作者:佚名 来源:网络 时间:2005-12-9 10:43:11 浏览: |
|
|
|
|
create view v_rand as select c=unicode(cast(round(rand()*255,0) as tinyint)) go create function f_jmstr(@str varchar(8000),@type bit)returns varchar(8000) /* *参数说明 *str:要加密的字符串或已经加密后的字符 *type:操作类型--0加密--解密 *返回值说明 *当操作类型为加密时(type--0):返回为加密后的str,即存放于数据库中的字符串 *当操作类型为解密时(type--1):返回为实际字符串,即加密字符串解密后的原来字符串 */ As begin declare @re varchar(8000)--返回值 declare @c int--加密字符 declare @i int /* *加密方法为原字符异或一个随机ASCII字符 */ if @type=0--加密 begin select @c=c,@re=’’,@i=len(@str) from v_rand while @i>0 select @re=nchar(unicode(substring(@str,@i,1))^@c^@i)+@re ,@i=@i-1 set @re=@re+nchar(@c) end else--解密 begin select @i=len(@str)-1,@c=unicode(substring(@str,@i+1,1)),@re=’’ while @i>0 select @re=nchar(unicode(substring(@str,@i,1))^@c^@i)+@re ,@i=@i-1 end return(@re) end go --测试 declare @tempstr varchar(20) set @tempstr=’ 1 2 3aA’ select dbo.f_jmstr(dbo.f_jmstr(@tempstr,0),1) 输出结果 1 2 3aA |
|
|
|
①
|
凡本网注明“来源:范文123网(范文网123)”的所有作品,版权均属于范文123网(范文网123),未经本网授权不得转载、摘编或利用其它方式使用上述作品。已经本网授权使用作品的,应在授权范围内使用,并注明“来源:范文123网”。违反上述声明者,本网将追究其相关法律责任。 |
| ② |
凡本网注明“来源:XXX(非范文123网)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。 |
| ③ |
如因作品内容、版权和其它问题需要同本网联系的,请在30日内进行。 |
|
| |