使用WRAP工具对ORACLE代码进行加密

来源:互联网 发布:sai for mac 最新版本 编辑:程序博客网 时间:2024/05/01 05:24

我们在Oracle存储过程中所包含的商业秘密,有时不愿意被第三方人员看到,可以通过对存储过程加密来实现。

有两种加密存储过程的方法:使用wrap工具

 

 

首先创建一个名称为test1.sql的文件:

CREATE OR REPLACE FUNCTION get_date_string RETURN VARCHAR2 AS

BEGIN

RETURN TO_CHAR(SYSDATE, ‘DD-MON-YYYY’);

END get_date_string;

/

它保存在D盘根目录。

到命令行下执行wrap iname=d:/test.sql

D:/>dir test* 驱动器 D 中的卷是 D 卷的序列号是 15C2-D261

 

   D:/ 的目录

2009-12-26 16:35               138 test.sql

                1 个文件            138 字节

               0 个目录 2,052,046,848 可用字节

D:/>wrap iname=d:/test.sql

PL/SQL Wrapper: Release 10.2.0.1.0- Production on 星期六 12月 26 16:36:01 2009

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

Processing d:/test1.sql to test1.plb

 

D:/>dir test*

驱动器 D 中的卷是 D

卷的序列号是 15C2-D261

   D:/ 的目录

2009-12-26 16:36               350 test.plb

2009-12-26 16:35               138 test.sql

               2 个文件            488 字节

               0 个目录 2,052,046,848 可用字节

会在D盘根目录下生成了一个test.plb文件

我们查看文件中的内容:

CREATE OR REPLACE FUNCTION get_date_string wrapped

a000000

354

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

8

71 ae

P29RDhRZX0orO0ED/mMF8i12Glkwg8eZgcfLCNL+XlquYvSuoVah8JbRPpdHDOrnwLK9spte

58d0wDO4dGUJuHSLwMAy/tKGCamhAs7G1hohrO/WTHaEcTKOd0xx9RBzc/XvN2dM6+zZPXLp

r1UqFBwU/Sx2010pwUjXpqZCvywG

 

/

通过命令行连接数据库,执行@d:test.plb

 

连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> @d:test.plb

函数已创建。

SQL>

提示函数已进创建;配置结束;

在plsql中查看,发现这个函数为:/* Source is wrapped */

原创粉丝点击