道与魔:SqlServer存储过程/函数加/解密

 
  【IT168 服务器学院】存储过程、存储函数的加密:WITH ENCRYPTION  

  <!--[if !supportLineBreakNewLine]-->
  <!--[endif]-->
  
  CREATE procedure dbo.sp_XML_main
  
  @table_name nvarchar(260)='',
  
  @dirname nvarchar(20)=''
  
  WITH ENCRYPTION
  
  as
  
  begin
  
  ....................
  
  end
  
  go
  
  存储过程、存储函数的解密(以下是一位绝世高人编写的代码)
  

  if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_decrypt]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
  
  drop procedure [dbo].[sp_decrypt]
  
  GO
  
  /*--破解函数,过程,触发器,视图.仅限于SQLSERVER2000
  
  --作者:J9988-- All rights reserved*/
  
  /*--调用示例
  
  --解密指定存储过程
  
  exec sp_decrypt 'AppSP_test'
  
  --对所有的存储过程解密
  
  declare tb cursor for
  
  select name from sysobjects where xtype='P' and status>0 and name<>'sp_decrypt'
  
  
  declare @name sysname
  
  open tb
  
  fetch next from tb into @name
  
  while @@fetch_status=0
  
  begin
  
  print '/*-------存储过程 ['+@name+'] -----------*/'
  
  exec sp_decrypt @name
  
  fetch next from tb into @name
  
  end
  
  close tb
  
  deallocate tb
  
  --*/
  
  
  if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SP_DECRYPT]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
  
  drop procedure [dbo].[SP_DECRYPT]
  
  GO
  
  CREATE PROCEDURE sp_decrypt(@objectName varchar(50))
  
  AS
  
  begin
  
  set nocount on
  
  --破解字节不受限制,适用于SQLSERVER2000存储过程,函数,视图,触发器
  
  --修正上一版视图触发器不能正确解密错误
  
  --发现有错,请E_MAIL:CSDNj9988@tom.com

posted @ 2005-11-08 21:52  facewater  阅读(232)  评论(1编辑  收藏  举报