怎樣加密procedure

jolly10發表於2008-03-20

Oracle提供Wrap工具,可以用於加密你的Package等.
不過需要注意的是,加密後的程式碼無法解密,你需要保管好你的原始碼。

10g中,Oracle包DBMS_DDL提供了一個新的函式CREATE_WRAPPED來實現對程式碼的混淆。

[@more@]

[oracle@linx130 bin]$ cp f_get_rowid.sql f_get_rowid.sql.bak
[oracle@linx130 bin]$ wrap iname=f_get_rowid.sql oname=f_get_rowid.plb

PL/SQL Wrapper: Release 10.2.0.3.0- Production on Thu Mar 20 09:26:21 2008

Copyright (c) 1993, 2004, Oracle. All rights reserved.

Processing f_get_rowid.sql to f_get_rowid.plb
[oracle@linx130 bin]$ cat f_get_rowid.plb
create or replace function get_rowid wrapped
a000000
354
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
8
29a 199
4cED0BGR/vcb0PN0SRUzIImMHekwgxDxzK7WfI4CELlkU/QoS0YEaIbjKI4YCub28jHCsNTX
J1CtR6Iftj80BXVpcPewQMedaMfc/QFWyImCMLNjg2+Y5L0xLdPP3IQOdMm85+i8BNDIymW2
zSiiXo6wxZNuyf2vHJi5hdaLhIBM+pUd+3CTrPR8XEq7WspcYm79LxQzbJDzlH8/3MZ/KLm1
hjrPTWZZSD6ELwYUOx1xPd8+bc4PP7AyufV+e+hJW1lby6D4e2KpkzxdOVa8zz0Km9ObciPg
4FyNXfxQa1Ux3+XlcMWK9r+qZ6Y8CPEO5DpQWzzbo50QYH2BC1iq9oE0PjmJ8+hy7jItI9bX
sfgJIPhuiBJLZLSIjtJM30SoVwDVA6Qo828jH51XuAOa

/

以上方法是命令列方式的,是針對指令碼的。10g中,Oracle包DBMS_DDL提供了一個新的函式CREATE_WRAPPED來實現對程式碼的混淆。舉例:

SQL> declare
2 V_PROTEX varchar2(2000):='
3 CREATE OR REPLACE PROCEDURE P_WRAPTEST
4 IS
5 v_count number;
6 BEGIN
7 select count(*) into v_count from user_tables;
8 DBMS_OUTPUT.PUT_LINE(''Tables number is: '' || v_count);
9 END;
10 ';
11 begin
12 SYS.DBMS_DDL.CREATE_WRAPPED(V_PROTEX);
13 end;
14 /

PL/SQL procedure successfully completed.

SQL> SELECT text FROM USER_SOURCE WHERE name = 'P_WRAPTEST';

TEXT
--------------------------------------------------------------------------------
PROCEDURE P_WRAPTEST wrapped
a000000
1f
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd

TEXT
--------------------------------------------------------------------------------
abcd
abcd
abcd
abcd
abcd
abcd
abcd
7
9a d2
Xy9zCYN+4Vgklmw21oWxrnyw1GowgypfLZ4VfC9nkLvVSPYej1t1JqHcvRScyHH1dG975/xw
Uh7G1eYHeO3GDK2rwiq26J/XC9PF4eLdY1hUk8j2UImUEXvaQOZBX48Pgfj7pAzbYgBDBEtv

TEXT
--------------------------------------------------------------------------------
ly5gzSYWS3uJbwoaxQcs19rovLcF0nUfzxBB6+TU+MDby7EyBXSe4zusVR+SBdXK


SQL>

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/271283/viewspace-1001230/,如需轉載,請註明出處,否則將追究法律責任。

相關文章