当前位置:  数据库>sqlserver

怎么查看SQL SERVER加密存储过程/函数/触发器与视图

    来源: 互联网  发布时间:2014-08-29

    本文导语:  例子:   代码示例: create  PROCEDURE sp_decrypt(@objectname varchar(50))  AS  begin  set nocount on  --CSDN:j9988 copyright:2004.07.15   --V3.2   --破解字节不受限制,适用于SQLSERVER2000存储过程,函数,视图,触发器  --修正上一版"视...

例子:
 

代码示例:
create  PROCEDURE sp_decrypt(@objectname varchar(50)) 
AS 
begin 
set nocount on 
--CSDN:j9988 copyright:2004.07.15  
--V3.2  
--破解字节不受限制,适用于SQLSERVER2000存储过程,函数,视图,触发器 
--修正上一版"视图触发器"不能正确解密错误 
--发现有错,请E_MAIL:CSDNj9988@tom.com 
begin tran 
declare @objectname1 varchar(100),@orgvarbin varbinary(8000) 
declare @sql1 nvarchar(4000),@sql2 varchar(8000),@sql3 nvarchar(4000),@sql4 nvarchar(4000) 
DECLARE  @OrigSpText1 nvarchar(4000),  @OrigSpText2 nvarchar(4000) , @OrigSpText3 nvarchar(4000), @resultsp nvarchar(4000) 
declare  @i int,@status int,@type varchar(10),@parentid int 
declare @colid int,@n int,@q int,@j int,@k int,@encrypted int,@number int 
select @type=xtype,@parentid=parent_obj from sysobjects where id=object_id(@objectname) 
 
create table  #temp(number int,colid int,ctext varbinary(8000),encrypted int,status int) 
insert #temp SELECT number,colid,ctext,encrypted,status FROM syscomments  WHERE id = object_id(@objectname) 
select @number=max(number) from #temp 
set @k=0 
 
while @k1 then 'ALTER PROCEDURE '+ @objectname +';'+rtrim(@k)+' WITH ENCRYPTION AS ' 
                          else 'ALTER PROCEDURE '+ @objectname+' WITH ENCRYPTION AS ' 
                          end) 
 
if @type='TR' 
begin 
declare @parent_obj varchar(255),@tr_parent_xtype varchar(10) 
select @parent_obj=parent_obj from sysobjects where id=object_id(@objectname) 
select @tr_parent_xtype=xtype from sysobjects where id=@parent_obj 
if @tr_parent_xtype='V' 
begin 
set @sql1='ALTER TRIGGER '+@objectname+' ON '+OBJECT_NAME(@parentid)+' WITH ENCRYPTION INSTERD OF INSERT AS PRINT 1 ' 
end 
else 
begin 
set @sql1='ALTER TRIGGER '+@objectname+' ON '+OBJECT_NAME(@parentid)+' WITH ENCRYPTION FOR INSERT AS PRINT 1 ' 
end 
 
end 
if @type='FN' or @type='TF' or @type='IF' 
set @sql1=(case @type when 'TF' then  
'ALTER FUNCTION '+ @objectname+'(@a char(1)) returns @b table(a varchar(10)) with encryption as begin insert @b select @a return end ' 
when 'FN' then 
'ALTER FUNCTION '+ @objectname+'(@a char(1)) returns char(1) with encryption as begin return @a end' 
when 'IF' then 
'ALTER FUNCTION '+ @objectname+'(@a char(1)) returns table with encryption as return select @a as a' 
end) 
 
if @type='V' 
set @sql1='ALTER VIEW '+@objectname+' WITH ENCRYPTION AS SELECT 1 as f' 
 
set @q=len(@sql1) 
set @sql1=@sql1+REPLICATE('-',4000-@q) 
select @sql2=REPLICATE('-',8000) 
set @sql3='exec(@sql1' 
select @colid=max(colid) from #temp where number=@k 
set @n=1 
while @n

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • JSON格式化视图查看工具 HiJson
  • 如何查看表与视图结构?(sql数据库与mysql)
  • 查看SQL Server数据库表、索引视图等占用空间大小的方法
  • redhat/centos 常用信息查看命令整理
  • unix在终端下如何查看如何查看 光盘里的内容? 如何进入光盘所在目录? 用什么命令可以查看光盘里文件的目录?
  • Ubuntu查看系统信息命令介绍
  • linux 命令执行结束后,想查看结果,但部分结果已经被覆盖,如何查看?
  • Ubuntu查看硬盘,分区相关命令介绍
  • 通过c程序写代码怎么查看进程是不是存在了?怎么查看该进程占用的内存是多少?
  • resin及jetty介绍以及如何 查看他们的版本号
  • ls查看时,查看到的4294967294 啥意思,熊猫请进
  • mysql中如何查看最大连接数(max_connections)和修改最大连接数
  • linux命令问题 输入一个查看命令(比如help) 显示满屏后 我怎么查看上一页的显示
  • MyEclipse如何查看和设置文件编码格式相关操作
  • linux能不能像xp那样子以幻灯片方式查看图片。我在一个文件夹里面有几张图片,想进行挑选。用幻灯片查看的方式比较方便
  • Ubuntu查看内存,进程相关命令介绍
  • 请问linux下怎么用命令行的方式查看系统自动运行的程序?(因为我只能通过ssh来查看)
  • 准备学习docker: docker version命令查看版本
  • 求教 关于gdb如何查看lib中的表达式
  • windows/windows 7/windows 8 下打开查看、修改及保存超大(GB级)文本文件及其它类型文件的工具-PilotEdit
  • 在AIX(4.3)系统上如何查看内存情况
  • linux/Centos下查看和修改网卡Mac地址(ifconfig命令)
  • linux下查看内核的命令是什么?
  • Ubuntu ADSL上网,网络信息查看及防火墙相关配置命令介绍
  • SunOS solaris 系统维护-查看cpu、内存、磁盘空间的命令




  • 特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3