网络安全

位置:IT落伍者 >> 网络安全 >> 浏览文章

如何实现对数据库单个字段进行加密


发布日期:2024年02月21日
 
如何实现对数据库单个字段进行加密

create view v_rand

as

select c=unicode(cast(round(rand()*) as tinyint))

go

create function f_jmstr(@str varchar()@type bit)returns varchar()

/*

*参数说明

*str:要加密的字符串或已经加密后的字符

*type:操作类型加密解密

*返回值说明

*当操作类型为加密时(type):返回为加密后的str即存放于数据库中的字符串

*当操作类型为解密时(type):返回为实际字符串即加密字符串解密后的原来字符串

*/

As

begin

declare @re varchar()返回值

declare @c int加密字符

declare @i int

/*

*加密方法为原字符异或一个随机ASCII字符

*/

if @type=加密

begin

select @c=c@re=@i=len(@str) from v_rand

while @i>

select @re=nchar(unicode(substring(@str@i))^@c^@i)+@re

@i=@i

set @re=@re+nchar(@c)

end

else解密

begin

select @i=len(@str)@c=unicode(substring(@str@i+))@re=

while @i>

select @re=nchar(unicode(substring(@str@i))^@c^@i)+@re @i=@i

end

return(@re)

end

go

测试

declare @tempstr varchar()

set @tempstr= aA

select dbof_jmstr(dbof_jmstr(@tempstr))

输出结果

aA

(完)

上一篇:学会Windows命令识别木马蛛丝马迹

下一篇:详解注册表映像劫持巧治病毒(zhuan)