oracle Wrap加密

wrap就是一个加密的工具

参数:

Iname 输入文件的名称

Oname输出文件的名称

 

                                  

如何加密Oracle中的存储过程,从而在schema下看不到其源码?

软件环境:

1、操作系统:Windows 2000 Server

2、数 据 库:Oracle 8i R2 (8.1.7) for NT 企业版

3、安装路径:C:\ORACLE

实现方法:

1、

 

D:\>set NLS_LANG=AMERICAN_AMERICA.USACII7

 

 

D:\>set NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1

D:\>set

 

直接打set命令可以查看环境变量

2、

 

在D:\下创建a.sql文件,内容如下:

 

create or replace procedure test1(i in number) as

 

begin

 

dbms_output.put_line('输入参数是'||to_char(i));

 

end;

3、

 

D:\>wrap iname=a.sql

 

 

 

PL/SQL Wrapper: Release 8.1.7.0.0 - Production on Tue Nov 27 22:26:48 2001

 

 

 

Copyright (c) Oracle Corporation 1993, 2000.  All Rights Reserved.

 

 

 

Processing a.sql to a.plb

4、

 

打开a.plb,现在它的内容如下:

 

create or replace procedure test1 wrapped

 

0

 

abcd

 

abcd

 

abcd

 

abcd

 

abcd

 

abcd

 

abcd

 

abcd

 

abcd

 

abcd

 

abcd

 

abcd

 

abcd

 

abcd

 

abcd

 

3

 

7

 

8106000

 

1

 

4

 

0

 

8

 

2 :e:

 

1TEST1:

 

1I:

 

1NUMBER:

 

1DBMS_OUTPUT:

 

1PUT_LINE:

 

1输入参数是:

 

1||:

 

1TO_CHAR:

 

0

 

 

 

0

 

0

 

1f

 

2

 

0 1d 9a8f a0 b0 3d b4

 

55 6a :2 a0 6b 6e 7e :2 a0 a5

 

b b4 2e a5 57 b7 a4 b1

 

11 68 4f 17 b5

 

1f

 

2

 

0 3 4 1d 19 18 25 15

 

2a 2e 32 36 3a 3d 42 45

 

49 4d 4e 50 51 56 57 5c

 

5e 62 64 70 74 76 7f

 

1f

 

2

 

0 1 b 11 16 :2 11 10 :3 1

 

:2 d 16 22 24 2c :2 24 :2 16 :a 1

 

 

 

1f

 

2

 

0 :9 1 :d 3 :2 2 :3 1 4 :2 1

 

81

 

4

 

:4 0 1 :a 0 1b

 

1 :4 0 5 :2 0

 

:2 3 :3 0 2 :7 0

 

5 4 :3 0 7

 

:2 0 1b 2 8

 

:2 0 4 :3 0 5

 

:3 0 a b 0

 

6 :4 0 7 :2 0

 

8 :3 0 2 :3 0

 

7 f 11 9

 

e 13 :3 0 :2 c

 

15 :2 0 17 10

 

1a :3 0 1a 0

 

1a 19 17 18

 

:6 0 1b :2 0 2

 

8 1a 1d :2 0

 

1 1b 1e :8 0

 

 

 

13

 

4

 

:3 0 1 3 1

 

6 1 10 2

 

d 12 1 14

 

1 16 2 16

 

1c

 

1

 

4

 

0

 

1d

 

0

 

1

 

14

 

1

 

2

 

0 0 0 0 0 0 0 0

 

0 0 0 0 0 0 0 0

 

0 0 0 0

 

2 0 1

 

3 1 0

 

0

 

 

 

/

 

5、运行a.plb

 

SQL> @d:\a.plb

 

 

 

过程已创建。

6、运行存储过程

 

SQL> set serveroutput on

 

SQL> execute test1(1);

 

输入参数是1

 

 

 

PL/SQL 过程已成功完成。

7、查看存储过程的代码

 

SQL> select name,text from all_source where type='PROCEDURE' and name='TEST1';

posted @ 2019-07-01 13:30  樊伟胜  阅读(727)  评论(0编辑  收藏  举报