活着的死人 发表于 2015-1-16 22:30:44

MSSQL网站制作之怎样完成对数据库单个字段举行加密

其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。加密|数据|数据库
createviewv_rand

as

selectc=unicode(cast(round(rand()*255,0)astinyint))

go



createfunctionf_jmstr(@strvarchar(8000),@typebit)returnsvarchar(8000)

/*

*参数申明

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

*type:操纵范例--0加密--解密

*前往值申明

*当操纵范例为加密时(type--0):前往为加密后的str,即寄存于数据库中的字符串

*当操纵范例为解密时(type--1):前往为实践字符串,即加密字符串解密后的本来字符串

*/

As

begin

declare@revarchar(8000)--前往值

declare@cint--加密字符

declare@iint

/*

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

*/

if@type=0--加密

begin

select@c=c,@re=,@i=len(@str)fromv_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@tempstrvarchar(20)

set@tempstr=123aA

selectdbo.f_jmstr(dbo.f_jmstr(@tempstr,0),1)

输入了局

123aA



(完)
既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。

兰色精灵 发表于 2015-1-18 10:13:07

代替了原来VB式的错误判断。比Oracle高级不少。

分手快乐 发表于 2015-1-21 19:41:01

对递归类的树遍历很有帮助。个人感觉这个真是太棒了!阅读清晰,非常有时代感。

简单生活 发表于 2015-1-30 21:58:27

无法深入到数据库系统层面去了解和探究

小妖女 发表于 2015-2-6 16:12:52

需要注意的一点,也是我使用过程中发现的一个问题。在建立function->schema->table后,如果在现有的分区表上建立没有显式声明的聚集索引时,分区表会自动变为非分区表。这一点很让我纳闷。

乐观 发表于 2015-2-17 03:32:17

如果我们从集合论(关系代数)的角度来看,一张数据库的表就是一组数据元的关系,而每个SQL语句会改变一种或数种关系,从而产生出新的数据元的关系(即产生新的表)。

飘飘悠悠 发表于 2015-3-5 15:10:37

是要和操作系统进行Socket通讯的场景。否则建议慎重!

蒙在股里 发表于 2015-3-12 08:56:13

如果我们从集合论(关系代数)的角度来看,一张数据库的表就是一组数据元的关系,而每个SQL语句会改变一种或数种关系,从而产生出新的数据元的关系(即产生新的表)。
页: [1]
查看完整版本: MSSQL网站制作之怎样完成对数据库单个字段举行加密