开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 6119|回复: 12

MS 数据库存储过程加密解密

[复制链接]

0

精华

935

贡献

265

赞扬

帖子
4122
软币
9958
在线时间
366 小时
注册时间
2013-7-21
发表于 2013-10-7 09:26:17 | 显示全部楼层 |阅读模式

存储过程加密解密在网上有很多,刚刚好最近需要用到,所以就查询了一下资料。记录一下

加密方法:执行如下存储过程

DECLARE @sp_name nvarchar(400)
DECLARE @sp_content nvarchar(2000)
DECLARE @asbegin int
declare @now datetime
select @now = getdate()
DECLARE sp_cursor CURSOR FOR
SELECT object_name(id)
FROM sysobjects
WHERE xtype = 'P'
AND type = 'P'
AND crdate < @now
AND OBJECTPROPERTY(id, 'IsMSShipped')=0

OPEN sp_cursor

FETCH NEXT FROM sp_cursor
INTO @sp_name

WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @sp_content = text FROM syscomments WHERE id = OBJECT_ID(@sp_name)
SELECT @asbegin = PATINDEX ( '%AS' + char(13) + '%', @sp_content)
SELECT @sp_content = SUBSTRING(@sp_content, 1, @asbegin - 1)
+ ' WITH ENCRYPTION AS'
+ SUBSTRING (@sp_content, @asbegin+2, LEN(@sp_content))
SELECT @sp_name = 'DROP PROCEDURE [' + @sp_name + ']'
EXEC sp_executesql @sp_name
EXEC sp_executesql @sp_content
FETCH NEXT FROM sp_cursor
INTO @sp_name
END

CLOSE sp_cursor
DEALLOCATE sp_cursor


执行完成之后,再去修改存储过程会提示如下结果:此时证明加密成功。

解密方法:利用 dbForge SQL Decryptor软件


登录成功之后,选中加密的数据库,然后操作如下图,就可以看到加密后的存储过程里的真实内容了。

至此,存储过程,加密解密都完成了。。


评分

参与人数 2赞扬 +2 收起 理由
maple + 1 感谢分享
rakehell + 1 很给力

查看全部评分

回复

使用道具 举报

0

精华

0

贡献

19

赞扬

帖子
33
软币
214
在线时间
13 小时
注册时间
2013-11-11
发表于 2013-11-13 11:01:10 | 显示全部楼层
正需要这方面的资料呢,太感谢了。
回复

使用道具 举报

0

精华

63

贡献

47

赞扬

帖子
101
软币
1134
在线时间
230 小时
注册时间
2013-8-27
发表于 2013-11-13 15:21:43 | 显示全部楼层
thank you learn on it ^^
回复

使用道具 举报

0

精华

56

贡献

745

赞扬

帖子
306
软币
5711
在线时间
695 小时
注册时间
2013-6-15
发表于 2013-11-20 17:10:11 | 显示全部楼层
很好,谢谢分享
回复

使用道具 举报

0

精华

935

贡献

265

赞扬

帖子
4122
软币
9958
在线时间
366 小时
注册时间
2013-7-21
 楼主| 发表于 2013-11-24 20:02:15 | 显示全部楼层
shaojunliang 发表于 2013-11-13 11:01
正需要这方面的资料呢,太感谢了。

不客气。。对你有帮助就好。。。
回复

使用道具 举报

0

精华

12

贡献

0

赞扬

帖子
62
软币
612
在线时间
70 小时
注册时间
2013-7-6
发表于 2013-11-25 18:41:26 | 显示全部楼层
正需要呢  谢谢楼主
回复

使用道具 举报

0

精华

0

贡献

0

赞扬

帖子
28
软币
84
在线时间
0 小时
注册时间
2014-3-14
发表于 2014-3-14 21:40:41 | 显示全部楼层
学习了··
回复

使用道具 举报

0

精华

1

贡献

0

赞扬

帖子
23
软币
124
在线时间
9 小时
注册时间
2013-11-10
发表于 2014-5-21 23:27:59 | 显示全部楼层
lgf228 发表于 2013-11-20 17:10
很好,谢谢分享

好帖。顶
回复

使用道具 举报

0

精华

2

贡献

2

赞扬

帖子
6
软币
217
在线时间
18 小时
注册时间
2013-7-26
发表于 2014-6-7 15:18:53 | 显示全部楼层
..。。。找了那么长时间 现在才看到解密。。。你这加密太长了吧 一句 WITH ENCRYPTION
回复

使用道具 举报

0

精华

129

贡献

52

赞扬

帖子
247
软币
1806
在线时间
193 小时
注册时间
2014-5-13
发表于 2014-10-21 09:02:53 | 显示全部楼层
楼上说得对,加一个选项就可用了:
WITH ENCRYPTION
回复

使用道具 举报

0

精华

55

贡献

20

赞扬

帖子
138
软币
1187
在线时间
157 小时
注册时间
2013-10-16
发表于 2015-1-28 15:37:20 | 显示全部楼层
版主出手就是不一样。。谢谢分享
回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-5-7 14:05

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表