网站建设
联系我们

用wrap加密pl/sql代码

发布于:2014-02-11 15:26来源:未知 作者:admin 点击:
Oracle提供了Wrap命令加密PL/SQL源代码。
以如下代码为例

  1. CREATE OR REPLACE PROCEDURE print 
  2. IS
  3. BEGIN
  4.     dbms_output.put_line(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'));
  5. END;
  6. /
使用wrap命令加密源代码
[oracle@target ~]$ wrap iname=/home/oracle/test.sql
PL/SQL Wrapper: Release 10.2.0.1.0- Production on Mon Feb 10 23:12:53 2014
Copyright (c) 1993, 2004, Oracle.  All rights reserved.
Processing /home/oracle/test.sql to test.plb

查看加密后的文件test.plb
[oracle@target ~]$ cat /home/oracle/test.plb
CREATE OR REPLACE PROCEDURE print wrapped 
a000000
1
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
7
63 a6
1HuA0FjhZ8jZziZsRaxrEfaM4DIwg5nnm7+fMr2ywFzn55vSmcyPm3SLwMAy/tKGCabhH0ma
jzC1UMipUC8Aykr+CNLHPecI0L8zuHQl50p0n1J0Uj3MZDbhVWhxVYmOAl9077YKaFkKBuAy
Li720eokH/Y5pmdy/Wk=
 
/

编译加密后的代码,并运行
[oracle@target ~]$ sqlplus scott/tiger @test.plb
SQL*Plus: Release 10.2.0.1.0 - Production on Mon Feb 10 23:16:20 2014
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
 
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
 
Procedure created.

SQL> set serveroutput on
SQL> exec print
2014-02-10 23:17:00
 
PL/SQL procedure successfully completed.
 
SQL> 

查看user_source,代码也是加密的
SQL> select * from user_source;
NAME                 TYPE               LINE TEXT
-------------------- ------------ ---------- --------------------------------------------------
PRINT                PROCEDURE             1 PROCEDURE print wrapped
                                             a000000
                                             1
                                             abcd
                                             abcd
                                             abcd
                                             abcd
                                             abcd
                                             abcd
                                             abcd
                                             abcd
                                             abcd
                                             abcd
                                             abcd
                                             abcd
                                             abcd
                                             abcd
                                             abcd
                                             7
                                             63 a6
                                             1HuA0FjhZ8jZziZsRaxrEfaM4DIwg5nnm7+fMr2ywFzn55vSmc
                                             yPm3SLwMAy/tKGCabhH0ma
                                             jzC1UMipUC8Aykr+CNLHPecI0L8zuHQl50p0n1J0Uj3MZDbhVW
                                             hxVYmOAl9077YKaFkKBuAy
                                             Li720eokH/Y5pmdy/Wk=
 
可将加密后的代码交给客户运行。

tag标签:
------分隔线----------------------------
------分隔线----------------------------