解密WITHENCRYPTION儲存過程

2021-06-16 01:00:52 字數 2329 閱讀 7991

create proceduredecryptobject(@objectnamevarchar(50)) 

with  encryption as 

begin  

declare@objectname1varchar(100) 

declare@sql1nvarchar(4000),@sql2nvarchar(4000),@sql3nvarchar(4000),@sql4nvarchar(4000),@sql5nvarchar(4000),@sql6nvarchar(4000),@sql7nvarchar(4000),@sql8nvarchar(4000),@sql9nvarchar(4000),@sql10nvarchar(4000) 

declare @origsptext1nvarchar(4000), @origsptext2nvarchar(4000),@origsptext3nvarchar(4000),@resultspnvarchar(4000) 

declare @iint,@tbigint 

declare@mint,@nint,@qint 

declare@tablenamevarchar(255)  --觸發器所對應的表名 

declare@trigtypevarchar(6)     --觸發器型別 

declare@typechar(1)            --物件型別:p-procedure;v-view;t-trigger 

declare@bbbit 

select@i=count(1) fromsysobjectswherename=@objectname 

if@i=0 

begin 

print'object'+@objectname+'isntexist!'--物件不存在 

return 

end 

select@type=ca***typewhen'tr'then't'el***typeendfromsysobjectswherename=@objectname  

if(@type<>'t'and @type<>'v'and @type<>'p')    

begin 

print'object'+@objectname+'isntprocedureortriggerorview!'--沒有所需要的物件型別 

return 

end 

select@bb=encryptedfromsyscomments whereid=object_id(@objectname) 

select@m=max(colid)fromsyscomments whereid=object_id(@objectname) 

if@bb=0 

begin 

print'object'+@objectname+'isnotencrypted!'--物件沒有加密 

return 

end 

createtable #temp(colidint,ctextvarbinary(8000)) 

createtable #tempresult(cctextnvarchar(4000)) 

insert#tempselectcolid,ctextfromsyscomments whereid=object_id(@objectname)--getencrypteddata    將加密資訊儲存於臨時表中  

if@type='t'--如果是觸發子,則取得它的表名和型別 

begin 

set@tablename=(selectsysobjects_1.namefromdbo.sysobjectsinnerjoindbo.sysobjectssysobjects_1ondbo.sysobjects.parent_obj=sysobjects_1.idwhere(dbo.sysobjects.type='tr')and(dbo.sysobjects.name=@objectname)) 

set@trigtype=(selectcasewhendbo.sysobjects.deltrig>0then'delete'whendbo.sysobjects.instrig>0then'insert'whendbo.sysobjects.updtrig>0then'update'end fromdbo.sysobjectsinnerjoin dbo.sysobjectssysobjects_1ondbo.sysobjects.parent_obj=sysobjects_1.id where(dbo.sysobjects.type='tr')and(dbo.sysobjects.name=@objectname)) 

end 

set@sql1=case@type--為修改原有的物件內容準備alter語句 共4頁  1   

加密解密 替換加解密

加密解密 替換加解密 按一定規則重新替換明文的字元生成密文。可以有多種替換方式。include void encrypt char strdata,int ncode printf original s n strdata p strdata for i 0 i nlen i printf enco...

js簡單解密(eval解密)

今天看文章,看到一篇比較好的文章。今天又學會一招,可以對一些採用eval加密的js進行解密。開啟谷歌或者火狐瀏覽器,然後按 f12,接著把這 複製進去,最後,去掉開頭 4 個字母 eval 然後回車執行下就得到原始碼了。eval function p,a,c,k,e,d if replace str...

加密與解密(六) 解密

常用解密方式 常見解密階段 爆破階段 追出非明碼比較的註冊碼 它們通常多為多條件和計算型形式 做出通用的序號產生器 學習掌握一定的密碼學知識,並了解常見的公共加密演算法,做出利用成熟加密演算法或密碼學原理加密軟體的序號產生器或提出解決方法 國內軟體主要加解密方法 軟解密針對加密產品,一方面是利用軟體...