存储过程加密了怎么办 (存储过程:加速数据处理的工具)

存储过程加密了怎么办

存储过程是一种在数据库中存储的预编译的程序。它通常用于执行一系列的数据库操作,比如查询、插入、更新和删除数据等。存储过程可以提高数据库的性能和安全性,同时将业务逻辑与应用程序分离,使得代码更加模块化和可维护。

有时候我们可能需要对存储过程进行加密,以保护其中的业务逻辑和敏感数据。这样做可以防止未经授权的人员直接查看和修改存储过程的内容,提高数据库的安全性。

那么,当存储过程被加密后,我们应该如何处理呢?我们需要明确一点,存储过程的加密是一种 单向操作 ,也就是说,一旦加密后,我们无法还原原始的存储过程代码。因此,我们需要在加密之前做好备份工作,以防止意外丢失。

当存储过程加密后,我们仍然可以通过调用存储过程来执行其中的代码。数据库系统会自动解密存储过程并执行其中的逻辑。因此,加密后的存储过程在功能上并没有受到影响,仍然可以正常使用。

由于存储过程的加密,我们无法直接查看和修改其中的代码。这给日常的维护和优化工作带来了一定的困难。当我们需要对存储过程进行调试或者修改时,我们需要首先将加密的存储过程解密,然后进行相应的操作,并在完成后重新加密。

为了解决这个问题,一种常见的做法是使用专门的第三方工具来管理加密的存储过程。这些工具通常提供了解密和加密的功能,并且可以与数据库管理工具集成,方便我们进行操作。不过,这些工具往往是商业软件,需要购买和许可。

有些数据库系统也提供了一些内置的工具和命令来管理加密的存储过程。比如,Microsoft SQL Server提供了专门的存储过程加密和解密命令,可以通过这些命令来管理加密的存储过程。

存储过程加密是一种保护敏感数据和业务逻辑的有效手段。加密后的存储过程在维护和调试方面存在一定的困难,需要借助专门的工具或者命令来进行管理。因此,在使用存储过程加密的同时,我们需要权衡安全和维护的需求,并选择适合的管理方式。


存储过程解密,sql server 2008 r2 一些存储过程被加密了,谁有解密工具?

sql server里面的内容加密了,用什么方法可以解密?匿名| 浏览 0 次2014-03-05 21:25我有更好的答案2条回答SQL SERVER存储过程解密方法create PROCEDURE sp_decrypt(@objectName varchar(50))ASbeginset nocount on--CSDN:j9988 copyright:2004.01.05 --V3.1--破解字节不受限制,适用于SQLSERVER2000存储过程,函数,视图,触发器--发现有错,请E_MAIL:CSDNj9988@tom.combegin trandeclare @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 intdeclare @colid int,@n int,@q int,@j int,@k int,@encrypted int,@number intselect @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 #tempset @k=0while @k<=@number beginif exists(select 1 from syscomments where id=object_id(@objectname) and number=@k)beginif @type=Pset @sql1=(case when @number>1 then ALTER PROCEDURE + @objectName +;+rtrim(@k)+ WITH ENCRYPTION AS else ALTER PROCEDURE + @objectName+ WITH ENCRYPTION AS end)

SQL2000把存储过程加密了,怎么解开

SQL2000把存储过程加密了,怎么解开可以导入,太大,就不要用记事本或者其它编辑器打开了,查询分析器--连接数据库--文件--打开--.sql文件--F5执行不过你把数据导出为SQL文件,而且200多M,真的是。为何不压缩后,直接拷库文件,或者直接备份导出呢。

MSSQL2005中存储过程的图标上有个锁,不能进行修改,怎么办?

加密过的,改不了除非拿到存储过程源码,更新过程,去掉with encryption 选项

怎么破解sqlserver加密的存储过程

是不是创建存储过程用WITH语法加的迷。。在IDE上存储过程名字上有把锁如果是用数据库管理员 专用链接 进去 调用专有系统存储过程就能破。。

SQl 2008如何解加密存储过程

针对SQL Server 2005的解密存储过程create PROCEDURE [dbo].[sp__windbi$decrypt](@procedure sysname = NULL, @revfl int = 1)AS/*王成辉翻译整理,转贴请注明出自微软BI开拓者www.windbi.com目前这个存储过程只能解密存储过程,至于解密函数、触发器、视图的存储过程本网站会进一步关注,调用形式为:exec dbo.sp__windbi$decrypt @procedure,0如果第二个参数使用1的话,会给出该存储过程的一些提示。--版本2.0*/SET NOCOUNT ONIF @revfl = 1BEGINPRINT 警告:该存储过程会删除并重建原始的存储过程。PRINT 在运行该存储过程之前确保你的数据库有一个备份。PRINT 该存储过程通常应该运行在产品环境的一个备份的非产品环境下。PRINT 为了运行这个存储过程,将参数@refl的值更改为0。RETURN 0ENDDECLARE @intProcSpace bigint, @t bigint, @maxColID smallint,@intEncryptedtinyint,@procNameLength intselect @maxColID = max(subobjid),@intEncrypted = imageval FROMsys.sysobjvalues WHERE objid = object_id(@procedure)GROUP BY imageval--select @maxColID as Rows in sys.sysobjvaluesselect @procNameLength =SET @fake_01=ALTER PROCEDURE + @procedure + WITH ENCRYPTION AS+REPLICATE(-, 40003 - @procNameLength)else if @objtype=FNSET @fake_01=ALTER FUNCTION + @procedure +() RETURNS INT WITH ENCRYPTION AS BEGIN RETURN 1/*+REPLICATE(*,SET @fake_01=ALTER view + @procedure + WITH ENCRYPTION AS select 1 as col/*+REPLICATE(*,SET @fake_01=ALTER trigger + @procedure + ON +@parentname+ WITH ENCRYPTION AFTER INSERT AS RAISERROR (N,16,10)/*+REPLICATE(*,SET @fake_01=Create PROCEDURE + @procedure + WITH ENCRYPTION AS+REPLICATE(-, 40003 - @procNameLength)else if @objtype=FNSET @fake_01=CREATE FUNCTION + @procedure +() RETURNS INT WITH ENCRYPTION AS BEGIN RETURN 1/*+REPLICATE(*,SET @fake_01=Create view + @procedure + WITH ENCRYPTION AS select 1 as col/*+REPLICATE(*,SET @fake_01=Create trigger + @procedure + ON +@parentname+ WITH ENCRYPTION AFTER INSERT AS RAISERROR (N,16,10)/*+REPLICATE(*, datalength(@real_01) /2 - @procNameLength)+*/--开始计数SET @intProcSpace=1--使用字符填充临时变量SET @real_decrypt_01 = replicate(NA, (datalength(@real_01) /2 ))--循环设置每一个变量,创建真正的变量--每次一个字节SET @intProcSpace=1--如有必要,遍历每个@real_xx变量并解密WHILE @intProcSpace<=(datalength(@real_01)/2)BEGIN--真的和假的和加密的假的进行异或处理SET @real_decrypt_01 = stuff(@real_decrypt_01, @intProcSpace, 1,NCHAR(UNICODE(substring(@real_01, @intProcSpace, 1)) ^(UNICODE(substring(@fake_01, @intProcSpace, 1)) ^UNICODE(substring(@fake_encrypt_01, @intProcSpace, 1)))))SET @intProcSpace=@intProcSpace+1END--通过sp_helptext逻辑向表#output里插入变量insert #output (real_decrypt) select @real_decrypt_01-- select real_decrypt AS #output chek from #output --测试-- ---------------------------------------开始从sp_helptext提取-- -------------------------------------declare @dbname sysname,@BlankSpaceAdded int,@BasePos int,@CurrentPos int,@TextLength int,@LineId int,@AddOnLen int,@LFCR int --回车换行的长度,@DefinedLength int,@SyscomText nvarchar(4000),@Line nvarchar(255)Select @DefinedLength = 255SELECT @BlankSpaceAdded = 0 --跟踪行结束的空格。注意Len函数忽略了多余的空格CREATE TABLE #CommentText(LineId int,Text nvarchar(255) collate database_default)--使用#output代替sys.sysobjvaluesDECLARE ms_crs_syscom CURSOR LOCALFOR SELECT real_decrypt from #outputORDER BY identFOR READ ONLY--获取文本SELECT @LFCR = 2SELECT @LineId = 1OPEN ms_crs_syscomFETCH NEXT FROM ms_crs_syscom into @SyscomTextWHILE @@fetch_status >= 0BEGINSELECT @BasePos = 1SELECT @CurrentPos = 1SELECT @TextLength = LEN(@SyscomText)WHILE @CurrentPos != 0BEGIN--通过回车查找行的结束SELECT @CurrentPos = CHARINDEX(char(13)+char(10), @SyscomText,@BasePos)--如果找到回车IF @CurrentPos != 0BEGIN--如果@Lines的长度的新值比设置的大就插入@Lines目前的内容并继续While (isnull(LEN(@Line),0) + @BlankSpaceAdded +@CurrentPos-@BasePos + @LFCR) > @DefinedLengthBEGINSELECT @AddOnLen = @DefinedLength-(isnull(LEN(@Line),0) +@BlankSpaceAdded)INSERT #CommentText VALUES( @LineId,isnull(@Line, N) + isnull(SUBSTRING(@SyscomText,@BasePos, @AddOnLen), N))SELECT @Line = NULL, @LineId = @LineId + 1,@BasePos = @BasePos + @AddOnLen, @BlankSpaceAdded = 0ENDSELECT @Line = isnull(@Line, N) +isnull(SUBSTRING(@SyscomText, @BasePos, @CurrentPos-@BasePos + @LFCR), N)SELECT @BasePos = @CurrentPos+2INSERT #CommentText VALUES( @LineId, @Line )SELECT @LineId = @LineId + 1SELECT @Line = NULLENDELSE--如果回车没找到BEGINIF @BasePos <= @TextLengthBEGIN--如果@Lines长度的新值大于定义的长度While (isnull(LEN(@Line),0) + @BlankSpaceAdded +@TextLength-@BasePos+1 ) > @DefinedLengthBEGINSELECT @AddOnLen = @DefinedLength -(isnull(LEN(@Line),0) + @BlankSpaceAdded)INSERT #CommentText VALUES( @LineId,isnull(@Line, N) + isnull(SUBSTRING(@SyscomText,@BasePos, @AddOnLen), N))SELECT @Line = NULL, @LineId = @LineId + 1,@BasePos = @BasePos + @AddOnLen, @BlankSpaceAdded =0ENDSELECT @Line = isnull(@Line, N) +isnull(SUBSTRING(@SyscomText, @BasePos, @TextLength-@BasePos+1 ), N)if LEN(@Line) < @DefinedLength and charindex( ,@SyscomText, @TextLength+1 ) > 0BEGINSELECT @Line = @Line + , @BlankSpaceAdded = 1ENDENDENDENDFETCH NEXT FROM ms_crs_syscom into @SyscomTextENDIF @Line is NOT NULLINSERT #CommentText VALUES( @LineId, @Line )select Text from #CommentText order by LineIdCLOSE ms_crs_syscomDEALLOCATE ms_crs_syscomDROP TABLE #CommentText-- ---------------------------------------结束从sp_helptext提取-- ---------------------------------------删除用短横线创建的存储过程并重建原始的存储过程ROLLBACK TRAN

DROP TABLE #output

试试上面的 方法 2005 和 2008应该是相似的~!~!

如何查看和修改加密的存储过程

在PL/SQL developer中先执行包头、然后再wrap加密包体 SQL> create or replace package pkg_wrap_test is 2 --测试过程,将输入的数字以字符格式输出 3 procedure test1(i in number); 4 END pkg_wrap_test; 5 /


本文地址: https://www.1dh.cc/article/3566.html
安粉圈

安粉圈网为网友提供最新最热门的手机游戏和手机APP资源下载,包含了手机必备的安卓软件,好玩的手机安卓游戏,让生活娱乐变的精彩有趣。

河南保帅信息科技有限公司

为中小企业提供品牌网络推广方案,解决让客户找到你、了解你、信任你三大难题,包括网络推广、网站建设、网站优化、关键词排名。

昆山厚晟塑胶制品有限公司

昆山厚晟塑胶制品有限公司专业生产各种塑料中空和注塑产品,拥有专业的生产设备,在产品设计,模具制造,成型加工方面具有10年以上的专业技术管理经验

理联盟

理联盟(www.lisdn.com)为你提供科技软件研究,教学,培训,售后等服务

洪湖市春露农作物种植专业合作社联合社

洪湖市春露农作物种植专业合作社联合社是一家由农技、农机、农资、植保等30多家农民专业合作社和粮食加工、农业经营管理等企业共同组成的新型农村经营主体。

芦溪县一村食品有限责任公司

芦溪县一村食品有限责任公司,座落在江西省风景名胜区“武功山”脚下,创办于1998年,是一家专业从事农副产品深加工和地方传统风味食品生产的江西省农业产业化农头企业。公司占地面积10000余平方米,注册资金1000万元,员工206人,拥有固定资产1600余万元、中高级技术人员16人,集聚了南昌、浙江、上海大学食品工程学院等多家产品研发协作机构和科技人才。

锡林郭勒盟政务服务与数据管理局

锡林郭勒盟政务服务局默认栏目

首页

首页-杭州时康环保科技有限公司

亳州市市场监督管理局(知识产权局)

亳州市市场监督管理局(知识产权局)

南宁新闻网

南宁新闻网是经国家互联网信息办公室批准,由自治区党委网信办、市委宣传部主管,南宁日报社主办的国家一类新闻网站,具有独立新闻采编资格。南宁新闻网于2008年7月8日正式上线运行,现已成为南宁市最权威、最大的新兴新闻资讯网站,致力打造移动新闻平台,是首府最具影响力的新媒体之一。

永康市中正教学仪器有限公司

永康市中正教学仪器有限公司