SqlServer存储过程及函数的加密与解密

存储过程、存储函数的加密:WITH ENCRYPTION
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存储过程,函数,视图,触发器
--修正上一版视图触发器不能正确解密错误

相关推荐