Oracle存储过程加密之wrap工具PDF

引言:平时大家在做项目的时候,经常会遇到把Oracle存储过程带到项目现场来测试系统。这时如果想对自己的存储过程进行保密,不使别人看到源代码,就可以对已有的存储过程进行加密保护。顾名思义,就是对Oracle存储过程源码的加密。当然不是什么时候都需要的,当有的项目对安全性要求比较高的时候可以采用,下面我就用案例来介绍这种加密方式和实验结果。

实验环境

操作系统版本

Red Hat Enterprise Linux Server release 6.5 (Santiago)

数据库版本

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

数据库实例名

shdb

wrap路径

Oracleoracle_home/bin目录下有wrap 命令.

/opt/oracle/product/11.2.0/db_1/bin/wrap

实验开始

1.创建一个sql文件,在oracle用户家目录下创建

[oracle@zxt28 ~]$ vim leonarding.sql

create or replace procedure leo(i in number)

as

begin

    dbms_output.put_line('input parameter: '||to_char(i));

end;

保存&退出

[oracle@zxt28 ~]$ ll

total 3664228

drwxr-xr-x 7 oracle oinstall       4096 Aug 27  2013 database

drwxr-xr-x 2 oracle oinstall      4096 Jan  7 15:46 Desktop

-rw-r--r-- 1 oracle oinstall        128 Jan 14 16:49 leonarding.sql    已经生成

-rwxr-xr-x 1 root  root    1395582860 Oct 17  2013 p13390677_linux-x86-64_11gR2040_database_1of2.zip

-rwxr-xr-x 1 root  root    1151304589 Oct 17  2013 p13390677_linux-x86-64_11gR2040_database_2of2.zip

-rwxr-xr-x 1 root  root    1205251894 Oct 16  2013 p13390677_linux-x86-64_11gR2040_grid.zip

2.Wrap方式加密

用法:

        wrap的用法还是比较简单的,一个命令就可以实现加密,以下是命令的格式

wrap iname=input_file [ oname=output_file ]

iname:指定的是源文件

oname:指定的是转换后加密文件,oname选项可以省略如果省略wrap命令会自动生成文件名一模一样的加密文件,当然你也可以指定自己命名方式,如下所示

[oracle@zxt28 ~]$ wrap iname=leonarding.sql

PL/SQL Wrapper: Release 11.2.0.4.0- 64bit Production on Thu Jan 14 16:57:46 2016

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

Processing leonarding.sql to leonarding.plb    自动生成文件名一模一样的加密文件

[oracle@zxt28 ~]$ ll

total 3664232

drwxr-xr-x 7 oracle oinstall      4096 Aug 27  2013 database

drwxr-xr-x 2 oracle oinstall      4096 Jan  7 15:46 Desktop

-rw-r--r-- 1 oracle oinstall        322 Jan 14 16:57 leonarding.plb

-rw-r--r-- 1 oracle oinstall        128 Jan 14 16:49 leonarding.sql

此时文件leonarding.plb的内容就是加密状态,如下所示

[oracle@zxt28 ~]$ vim leonarding.plb

create or replace procedure leo wrapped

a000000

354

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

7

6f b6

nkxs9EzOsgeU6oDhPIYrMqr6O5cwg5nnm7+fMr2ywFyFodexpcOl0l6lmYEywLIlw4/AdCuP

wMAyW55SPqmpbbcguDSqEVpnEeMcL8b4MJK+J00Xi5SJpxaOFG9si+inGm+ko88RnCMuLuOq

NAMHC8hAsOjoDeGcCk+ZyF0G4Kam2x0svw==

自己指定加密文件命名

[oracle@zxt28 ~]$ rm leonarding.plb

[oracle@zxt28 ~]$ wrap iname=leonarding.sql oname=leo.plb

PL/SQL Wrapper: Release 11.2.0.4.0- 64bit Production on Thu Jan 14 16:59:58 2016

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

Processing leonarding.sql to leo.plb

[oracle@zxt28 ~]$ ll

total 3664232

drwxr-xr-x 7 oracle oinstall      4096 Aug 27  2013 database

drwxr-xr-x 2 oracle oinstall      4096 Jan  7 15:46 Desktop

-rw-r--r-- 1 oracle oinstall        128 Jan 14 16:49 leonarding.sql

-rw-r--r-- 1 oracle oinstall        322 Jan 14 16:59 leo.plb

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/be3459f9452701221e919969aa434c87.html