添加密码加密SQL存储过程的函数(原创)

很多时候我们写的SQL数据库存储过程是以明文的方式保存在SQL中的,用户可以直接用一条sp_helptext 命令就可以看到你的存储过程内容,里面的逻辑一清二楚,知识保护也就相当脆弱!为此,我特地写了一个数据库的加密和解密函数。通过密码加密和解密,在程序代码中使用密码解密,在SQL存储过程中加密后再存储。这样别人就看不到你的SQL逻辑了。只要密码不告诉别人,别人就只能看到你加密后显示的一堆乱码。没有密码,即使知道解密方法和加密后的乱码也手足无措!

操作方法

  • 01

    /*加密函數 ALTER function [dbo].[encode](@password varchar(16),@sqltxt varchar(4000)) returns varchar(4000) as begin declare @i integer=0,@j integer=0,@returns varchar(4000),@char char,@lensql integer,@lenpwd integer select @lenpwd=LEN(@password),@lensql=LEN(@sqltxt),@returns='',@char='',@i=1,@j=1 while @j<=@lensql begin select @i=1,@char=char(CASE @i%2 WHEN 1 THEN ascii(SUBSTRING(@sqltxt,@j,1))^ascii(SUBSTRING(@password,@i,1))+1 ELSE ascii(SUBSTRING(@sqltxt,@j,1))^ascii(SUBSTRING(@password,@i,1))-1 end) select @i=@i+1 while @i<=@lenpwd begin set @char=char(CASE @i%2 WHEN 1 THEN ascii(@char)^ascii(SUBSTRING(@password,@i,1))+1 ELSE ascii(@char)^ascii(SUBSTRING(@password,@i,1))-1 end) select @i=@i+1 end select @j=@j+1,@returns=@returns+@char end return @returns end --*/ /*解密函數 ALTER function [dbo].[decode](@password varchar(16),@sqltxt varchar(4000)) returns varchar(4000) as begin declare @i integer=0,@j integer=0,@returns varchar(4000),@char char,@lensql integer,@lenpwd integer select @lenpwd=LEN(@password),@lensql=LEN(@sqltxt),@returns='',@char='',@j=1 while @j<=@lensql BEGIN select @i=@lenpwd,@char=char(CASE @i%2 WHEN 1 THEN (ascii(SUBSTRING(@sqltxt,@j,1))-1)^ascii(SUBSTRING(@password,@i,1)) ELSE (ascii(SUBSTRING(@sqltxt,@j,1))+1)^ascii(SUBSTRING(@password,@i,1)) end) select @i=@i-1 while @i>0 begin select @char=char(CASE @i%2 WHEN 1 THEN (ascii(@char)-1)^ascii(SUBSTRING(@password,@i,1)) ELSE (ascii(@char)+1)^ascii(SUBSTRING(@password,@i,1)) end) select @i=@i-1 end select @j=@j+1,@returns=@returns+@char end return @returns end --*/ --測試 declare @sql varchar(4000) select @sql=dbo.encode('a','select top 3 * from employees') print @sql print dbo.decode('a',@sql)

(0)

相关推荐

  • PPT怎么添加密码?

    有时我们的ppt文档不想给其它人看到,想加密码这样访问ppt的朋友必须要有密码了,纳闷PPT怎么添加密码?怎么给PPT文件添加密码?下面小编就为大家介绍一下,一起来看看吧! 方法/步骤 首先给大家演示 ...

  • 如何为OS X备忘录添加密码

    如何为OS X备忘录添加密码?备忘录往往记录着一些重要的个人信息,苹果也已经意识到它的安全性至关重要,于是在OS X10.11.4中苹果为Mac的备忘录应用也加了一把"锁",让Ma ...

  • 如何在WinRAR中压缩并给文件添加密码

    有的小伙伴在传输文件时,为了防止文件里的内容被别人看到,因此想要使用WinRAR软件来压缩文件,并给文件添加密码,但是却不知道如何操作,那么小编就来为大家介绍一下吧.具体如下:1. 第一步,右击想要压 ...

  • 如何在Mac版本的WPS中为文档账户添加密码

    有的小伙伴在使用Mac电脑上的WPS文档时,为了自己的账户安全,因此想要为文档账户添加密码,但是却不知道如何添加,那么小编就来为大家介绍一下吧.具体如下:1. 第一步, 点击并打开WPS软件,接着编辑 ...

  • OPPOr11s手机开启给软件添加密码的功能

    OPPOr11s手机中怎么给手机软件添加密码,下面小编介绍一下.具体如下:1. 打开[设置]图标.2. 滑动页面,找到"指纹"选项打开3. 打开页面中选择"隐私密码&qu ...

  • 手机上怎么给qq空间的相册添加密码

    QQ是我们常用的社交软件之一,有小伙伴问怎么给QQ空间的相册添加密码,下面小编介绍一下.具体如下:1. 打开[QQ空间]APP,点击下方的"我的"2. 打开个人空间后,点击圈出的& ...

  • 手机上如何为应用添加密码

    有的小伙伴在使用手机过程中,为了自己手机中应用的隐私安全,因此想要为应用添加密码,但是却不知道如何添加,那么小编就来为大家介绍一下吧.具体如下:1. 第一步,点击并打开设置应用,接着点击箭头所指的安全 ...

  • 如何在电脑上给u盘添加密码

    有的小伙伴喜欢使用U盘来传输文件等,为了U盘中文件的安全,因此想要给u盘添加密码,但是却不知道如何添加,那么小编就来为大家介绍一下吧.具体如下:1. 第一步,双击或者右击打开此电脑图标.2第二步,来到 ...

  • 如何给PPT文档添加密码

    PPT是现在十分常用的文件类型之一,有些新用户不知道如何给PPT文档添加密码,接下来小编就给大家介绍一下具体的操作步骤.具体如下:1. 首先第一步打开电脑中需要加密的PPT文档.2. 第二步进入软件后 ...