当前位置:操作系统 > Unix/Linux >>

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

如何加密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 9a 8f 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';

  结果:看不到其原码本文来自:http://doc.xiaoyaxiao.com/3419.html
发表您的高见!
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,