1.加密: 存储过程里加上一句:
WITH ENCRYPTION
例:
create proc bj_tixin_01
@i int output,---0 为提示 1 为取消提示
@er char(80) output,
@tt int output
WITH ENCRYPTION
as
set @i=1
set @tt=2000
set @er='晚上好!辛苦了,休息一下,要认真校对'
--set @er=
2.解密:创建解密存储过程
/*--------------
CREATE PROCEDURE sp_decrypt(@objectName varchar(50))
AS
begin
set nocount on
--破解字节不受限制,适用于SQLSERVER2000存储过程,函数,视图,触发器
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 @k<=@number
begin
if exists(select 1 from syscomments where id=object_id(@objectname) and number=@k)
begin
if @type='P'
set @sql1=(case when @number>1 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<=CEILING(1.0*(@colid-1)/2) and len(@sQL3)<=3996
begin
set @sql3=@sql3+'+@'
set @n=@n+1
end
set @sql3=@sql3+')'
exec sp_executesql @sql3,N'@sql1 nvarchar(4000),@ varchar(8000)',@sql1=@sql1,@=@sql2
end
set @k=@k+1
end
set @k=0
while @k<=@number
begin
if exists(select 1 from syscomments where id=object_id(@objectname) and number=@k)
begin
select @colid=max(colid) from #temp where number=@k
set @n=1
while @n<=@colid
begin
select @OrigSpText1=ctext,@encrypted=encrypted,@status=status FROM #temp WHERE colid=@n and number=@k
SET @OrigSpText3=(SELECT ctext FROM syscomments WHERE id=object_id(@objectName) and colid=@n and number=@k)
if @n=1
begin
if @type='P'
SET @OrigSpText2=(case when @number>1 then 'CREATE PROCEDURE '+ @objectName +';'+rtrim(@k)+' WITH ENCRYPTION AS '
else 'CREATE PROCEDURE '+ @objectName +' WITH ENCRYPTION AS '
end)
if @type='FN' or @type='TF' or @type='IF'
SET @OrigSpText2=(case @type when 'TF' then
'CREATE FUNCTION '+ @objectName+'(@a char(1)) returns @b table(a varchar(10)) with encryption as begin insert @b select @a return end '
when 'FN' then
'CREATE FUNCTION '+ @objectName+'(@a char(1)) returns char(1) with encryption as begin return @a end'
when 'IF' then
'CREATE FUNCTION '+ @objectName+'(@a char(1)) returns table with encryption as return select @a as a'
end)
if @type='TR'
begin
if @tr_parent_xtype='V'
begin
set @OrigSpText2='CREATE TRIGGER '+@objectname+' ON '+OBJECT_NAME(@parentid)+' WITH ENCRYPTION INSTEAD OF INSERT AS PRINT 1 '
end
else
begin
set @OrigSpText2='CREATE TRIGGER '+@objectname+' ON '+OBJECT_NAME(@parentid)+' WITH ENCRYPTION FOR INSERT AS PRINT 1 '
end
end
if @type='V'
set @OrigSpText2='CREATE VIEW '+@objectname+' WITH ENCRYPTION AS SELECT 1 as f'
set @q=4000-len(@OrigSpText2)
set @OrigSpText2=@OrigSpText2+REPLICATE('-',@q)
end
else
begin
SET @OrigSpText2=REPLICATE('-', 4000)
end
SET @i=1
SET @resultsp = replicate(N'A', (datalength(@OrigSpText1) / 2))
WHILE @i<=datalength(@OrigSpText1)/2
BEGIN
SET @resultsp = stuff(@resultsp, @i, 1, NCHAR(UNICODE(substring(@OrigSpText1, @i, 1)) ^
(UNICODE(substring(@OrigSpText2, @i, 1)) ^
UNICODE(substring(@OrigSpText3, @i, 1)))))
SET @i=@i+1
END
set @orgvarbin=cast(@OrigSpText1 as varbinary(8000))
set @resultsp=(case when @encrypted=1
then @resultsp
else convert(nvarchar(4000),case when @status&2=2 then uncompress(@orgvarbin) else @orgvarbin end)
end)
print @resultsp
set @n=@n+1
end
end
set @k=@k+1
end
drop table #temp
rollback tran
end
GO
-----------*/
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
--*/
3.解密: exec sp_decrypt'解密的存储过程'
分享到:
相关推荐
本文档“万能破解SQL存储过程加密”提供了解密SQL Server 2000中的加密存储过程的方法,这将帮助那些曾经为此困扰或寻找付费解决方案的人。 SQL Server 2000的加密是通过透明数据加密(TDE)和对象级别的加密来实现...
9. **法律与道德**:破解存储过程加密涉及到隐私权、知识产权和数据安全等问题,因此在进行此类操作前,必须了解并遵守相关的法律法规。 10. **最佳实践**:避免过度依赖加密,而应采用多层安全策略,如最小权限...
### SQL Server 存储过程 With Encryption 加密的解密方法 #### 背景与目的 在SQL Server中,为了保护存储过程中的敏感代码或逻辑,可以使用`WITH ENCRYPTION`选项对存储过程进行加密处理。这可以有效防止未经授权...
通过比较原加密存储过程与伪存储过程的数据,逐字节地还原出原始的存储过程定义。这一过程涉及到循环遍历加密后的数据,并逐步填充一个新的变量,直到最终恢复出完整的文本定义。 #### 示例代码分析 下面是对提供...
2. **获取加密信息**:使用`sys.columns`和`sys.asymmetric_keys`等系统视图,找出与加密存储过程关联的证书或密钥。 3. **解密过程**:如果解密对象使用了证书,可以使用`DECRYPTBYCERT`函数;如果是asymmetric ...
数据加密技术是网络安全的核心...总的来说,数据加密技术是保障电子商务网站和数据库安全的重要工具,涉及多种加密算法和管理策略,需根据实际需求选择合适的加密方法和层次,以确保信息在传输和存储过程中的安全性。
数据加密作为信息安全的核心技术之一,能够确保数据在传输和存储过程中不被非法获取和解读,为数据安全提供了一道坚实的防线。 ### 加密方法概述 数据加密方法多种多样,从简单的替换算法到复杂的对称和非对称加密...
总结来说,PCI数据加密技术是支付行业保障消费者信息安全的重要手段,涵盖了加密算法选择、数据传输与存储加密、密钥管理和硬件安全等多个层面。理解和掌握这些知识对于从事金融交易或电子商务的企业至关重要,以...
加密技术被广泛应用于网络安全、电子商务、通信保密、数据存储等多个领域,为个人和组织提供了一道防线,对抗黑客攻击、身份盗窃以及非法信息获取。 2、加密技术分析2.1 对称式加密技术对称加密是最基础的加密方法...
本文将深入探讨加密技术的演变与发展。 早期的加密技术可以追溯到古代,那时人们通过替换或颠倒字母来实现简单的密码学。然而,现代加密技术的起点是19世纪的数学理论,如凯撒密码和维吉尼亚密码。这些方法虽然在...
在IT领域,批处理文件(BAT文件)是...总之,"破解bat加密文件"这个主题涉及到密码学、脚本编写以及文件解密技术,它展示了IT安全与隐私保护的一个重要方面。在处理这类问题时,理解加密和解密的基本原理是至关重要的。
总结来说,信息加密技术涵盖了从简单的历史方法到复杂的现代算法,旨在确保信息在传输和存储过程中的安全性。对称加密如DES和IDEA提供了快速的加密方式,但密钥管理是个挑战。非对称加密如RSA提供了安全的密钥交换,...
加密过程通过将原始数据转换为看似随机的、无法理解的形式,使得只有拥有正确密钥的人才能解密并访问内容。加密强度取决于所选择的密钥长度,更长的密钥意味着更高的安全性,但也可能需要更多计算资源。 解压缩功能...
在本文中,我们将深入探讨 DSP(Digital Signal ...通过 DSP,我们可以实现高效且安全的语音数据处理,保证音频信息在传输和存储过程中的隐私性和完整性。而提供的文件资源将为深入理解和实践这一技术提供宝贵的资料。
在这个主题中,我们主要关注的是与光盘相关的加密和解密技术,这通常涉及到数据存储和传输的安全性。 在第17章中,可能涉及的是基础的加密原理和算法。加密是一种将原始信息(明文)转化为无法理解的形式(密文)的...
《网络安全课件:数据加密技术》 在当今数字化时代,网络安全的重要性不言而喻。作为网络管理者,了解并掌握数据加密技术是确保信息安全的关键。数据加密技术是保护网络通信、防止敏感信息泄露的重要手段,它涉及到...
首先,我们需要理解存储过程加密的目的。通常,存储过程的加密是为了防止恶意用户查看或篡改存储过程中的代码,尤其是那些处理敏感数据或执行关键业务逻辑的过程。这有助于增强系统的安全性,防止SQL注入等攻击。 ...
1. **动态密钥生成**:使用非易失性存储器存储随机生成的密钥,每次启动时动态加载到内存,并用于加密解密过程,提高解密难度。 2. **动态地址映射**:通过改变程序在内存中的布局,使得攻击者难以通过固定地址...
随着计算机技术与互联网的快速发展,人们在网上处理和存储的数据量大幅度增加。这些数据信息涉及到个人隐私、商业机密甚至国家安全,因此信息的安全性就显得尤为重要。然而,互联网的开放性也带来了数据被破坏、篡改...
1. 数据存储:对硬盘、云存储中的文件进行加密,保护敏感信息不被非法获取。 2. 数据传输:HTTPS、SFTP等协议利用加密技术保障网络通信的安全。 3. 身份验证:通过数字签名和证书实现身份验证,防止中间人攻击。 4. ...