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
(完)
既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。 代替了原来VB式的错误判断。比Oracle高级不少。 对递归类的树遍历很有帮助。个人感觉这个真是太棒了!阅读清晰,非常有时代感。 无法深入到数据库系统层面去了解和探究 需要注意的一点,也是我使用过程中发现的一个问题。在建立function->schema->table后,如果在现有的分区表上建立没有显式声明的聚集索引时,分区表会自动变为非分区表。这一点很让我纳闷。 如果我们从集合论(关系代数)的角度来看,一张数据库的表就是一组数据元的关系,而每个SQL语句会改变一种或数种关系,从而产生出新的数据元的关系(即产生新的表)。 是要和操作系统进行Socket通讯的场景。否则建议慎重! 如果我们从集合论(关系代数)的角度来看,一张数据库的表就是一组数据元的关系,而每个SQL语句会改变一种或数种关系,从而产生出新的数据元的关系(即产生新的表)。
页:
[1]