當前位置:首頁 » 服務存儲 » 存儲過程加密
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

存儲過程加密

發布時間: 2022-01-18 03:11:03

sql存儲過程怎麼加密

語句後面加個WITH ENCRYPTION就好了,比如:

CREATEPROCEDUREdbo.AAA(
@AVARCHAR(60),
@BVARCHAR(200)OUTPUT)
WITHENCRYPTION
AS
BEGIN
--此處代碼省略100行
END

Ⅱ 存儲過程解密,sql server 2008 r2 一些存儲過程被加密了,誰有解密工具

1.
sql
server
2008新功能
一、可信任的
sql
server
2008為關鍵任務應用程序提供了強大的安全特性、可靠性和可擴展性。
·
通過簡單的數據加密、外鍵管理、增強審查來增強來擴展它的安全性。
·
通過改進了資料庫鏡像、熱添加cpu簡化管理並具高可靠性的應用的能力。
·
提供了一個廣泛的功能集合,使你的數據平台上的所有工作負載的執行都是可擴展的和可預測的。
二、高效的
sql
server
2008降低了管理系統、.net架構和visual
studio®
team
system的時間和成本,使得開發人員可以開發強大的下一代資料庫應
用程序。
·
sql
server
2008推出了陳述式管理架構(dmf)
,它是一個用於sql
server資料庫引擎的新的基於策略的管理框架。
·
對sql
server的服務生命周期提供了顯著的改進
,它重新設計了安裝、建立和配置架構。
·
提供了集成的開發環境和更高級的數據提取。
·
在與visual
studio
的合作下,快速的創建偶爾連接系統。
·
提供了新的數據類型使得開發人員和管理員可以有效的存儲和管理非結構化數據。
三、智能的
商業智能(bi)繼續作為大多數公司投資的關鍵領域和對於公司所有層面的用戶來說的一個無價的信息源。sql
server
2008提供了一個全面的平台,用於當用戶需要時你可以為其提供智能化。
·
集成任何數據
·
發送相應的報表
·
使用戶獲得全面的洞察力
sql
server
2008基於sql
server
2005強大的olap能力,為所有用戶提供了更快的查詢速度。這個性能的提升使得公司可以執行具有許多維度和聚合的非常復雜的分析。
2隨著sql
server
2008越來越多地進入到大家的視線中,也有越來越多的聲音說sql
server
2008
(kaitmai)僅僅是sql
server
2005的一個補丁包。當初我也是這個想法,因為我們把太多的目光放到了例如geo-spatial支持、hierarchical
id、file
stream上,確實這些功能都是建立在sql
server
2005搭建的clr
-integrated平台上的,但是我們也需要看到sql
server
2008中的其他功能,例如resource
governor、declarative
management
framework、change
data
capture、reporting
service
iis
agnostic
report
deployment等等。steveb在美國launch中更將policy-base
management列在sql
server
2008
top
10新功能的首位,還有美國launch上關於activity
monitor的改進、object
search以及t-sql
debugger被用戶愛稱為三項surprise
features。當然還是會有人說這些都是在dmv和ddl
triggers的技術基礎或技術路線上發展起來的,不過哪個產品不是從一條技術路線或某項基礎性改革上發展起來的呢?
因此微軟把sql
server
6.0/6.5稱為第一代資料庫產品,sql
server
7.0/2000稱為第二代資料庫,而sql
server
2005/2008稱為第三代資料庫產品。以此類推,那麼sql
server
vnext是不是會變成第四代資料庫產品呢,那又會有什麼革命性的改變呢?grid?...哦,跑題了
因此我們還是應該寬容地看待sql
server
2008,還是應該升級到sql
server
2008的,升級有問題可以咨詢emc
msp么.
3.完整的sql
2008企業版有2g吧

Ⅲ 如何對存儲過程進行加密和解密

在PL/SQL
developer中先執行包頭、然後再wrap加密包體
SQL>
create
or
replace
package
pkg_wrap_test
is
2
--測試過程,將輸入的數字以字元格式輸出
3
procere
test1(i
in
number);
4
END
pkg_wrap_test;
5
/

Ⅳ 求破解sql200加密存儲過程的具體方法

破解SQL SERVER 加密存儲過程,函數,觸發器,視圖
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\'
set @sql1=\'ALTER TRIGGER \'+@objectname+\' ON \'+OBJECT_NAME(@parentid)+\' WITH ENCRYPTION FOR INSERT AS PRINT 1 \'

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\'
set @OrigSpText2=\'CREATE TRIGGER \'+@objectname+\' ON \'+OBJECT_NAME(@parentid)+\' WITH ENCRYPTION FOR INSERT AS PRINT 1 \'

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

Ⅳ 如何對存儲過程,包的源代碼加密

在PL/SQL developer中先執行包頭、然後再wrap加密包體 SQL> create or replace package pkg_wrap_test is 2 --測試過程,將輸入的數字以字元格式輸出 3 procere test1(i in number); 4 END pkg_wrap_test; 5 /

Ⅵ MSSQL中遇到存儲過程加密如何破解

exec 所創建的用於解密的存儲過程(你找的代碼) 要解密的存儲過程

就ok楽

Ⅶ 在用CREATE PROC語句創建存儲過程時,使用什麼選項可以加密存儲過程的定義文本

這樣就好了:(加密時最好自己保留一份定義,不然以後就看不到了)
create proc pSP_ABC
with ENCRYPTION
as

Ⅷ SQLSERVER存儲過程加密後,是不是任意版本都可以很容易解密

是的到目前為止,SQL Server所有版本的存儲過程的加密的機理都是一樣的,都可以被非常容易的破解,前提是,有讀取存儲過程的代碼的權。
要防止用戶得到SQL Server存儲過程的真實代碼,最簡單的做法就是只給執行權,不給查看權。
至於安裝在別人伺服器上的SQL Server資料庫中的存儲過程,想不讓別人看,那基本上是沒門兒的。

Ⅸ SQL2000把存儲過程加密了,怎麼解開

SQL2000把存儲過程加密了,怎麼解開
可以導入,太大,就不要用記事本或者其它編輯器打開了,
查詢分析器--連接資料庫--文件--打開--.sql文件--F5執行

不過你把數據導出為SQL文件,而且200多M,真的是。

為何不壓縮後,直接拷庫文件,或者直接備份導出呢。