oracle加密工具
来源:互联网 发布:学校装网络信号屏蔽器 编辑:程序博客网 时间:2024/06/01 15:15
在Oracle存储过程中所包含的商业秘密,有时不愿意被第三方人员看到,可以通过对存储过程加密来实现。
有两种加密存储过程的方法:这里重点介绍wrap:
Wrap是Oracle所提供的操作系统级的命令,其加密的原理就是先对源码进行lz压缩lzstr,然后对压缩数据进行SHA-1运算得到40位的加密串shstr,然后将加密串与压缩串拼接得到shstr+lzstr,然后对拼接后的字符串进行Oracle双字符转换(转换表)。最后将转换后的字符串进行base64编码,最终得到wrap的加密串。Oracle本身没有提供unwrap工具,wrap语法如下:
wrap iname=input_file [oname=output_file]
参数iname为要加密的文件名,oname为加密后的文件名。如果省略oname,那么将会自动产生一个同名的加密文件名,且后缀为plb。
我们来演示一下wrap工具的用法。首先创建一个名称为test.txt的文件:
[oracle@pigeon ~]$ which wrap
/u01/product/10.2.0/bin/wrap #wrap所在目录
[oracle@pigeon ~]$ wrap iname=test.txt
PL/SQL Wrapper: Release 10.2.0.1.0- Production on Mon Jan 17 15:14:11 2011
Copyright (c) 1993, 2004, Oracle. All rights reserved.
Processing test.txt to test.plb
[oracle@pigeon ~]$ ls
autostartosw.sh Desktop l0db.sh raw.txt sde2.dmp sde.dmp startdb.sh stop.pigeon test.plb(新生成一个同名不同后缀的文件) test.txt
下面分别查看两个文件的内容:
[oracle@pigeon ~]$ more test.txt
create or replace procedure test
is
begin
dbms_output.put_line('welcome to oracle!');
end;
/
[oracle@pigeon ~]$ more test.plb
create or replace procedure test wrapped
a000000
354
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
7
49 85
zzrHcdOhOYaYaHu+gE2KKyNe6L4wg5nnm7+fMr2ywFznUrLL7pt0i8DAMv7ShsBSm7JK/iiy
veeysx0GMCyuJOqygZt3bl3kaMMC8c8C5FHbXW7D6TIu9tHqJB/2Oab7j44p
/
[oracle@pigeon ~]$
下面使用密文创建与调用创建的procedure
[oracle@pigeon ~]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Mon Jan 17 15:16:06 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn / as sysdba;
Connected.
--复制密文:
SQL> create or replace procedure test wrapped
2 a000000
3 354
4 abcd
5 abcd
6 abcd
7 abcd
8 abcd
9 abcd
10 abcd
11 abcd
12 abcd
13 abcd
14 abcd
15 abcd
16 abcd
17 abcd
18 abcd
19 7
20 49 85
21 zzrHcdOhOYaYaHu+gE2KKyNe6L4wg5nnm7+fMr2ywFznUrLL7pt0i8DAMv7ShsBSm7JK/iiy
22 veeysx0GMCyuJOqygZt3bl3kaMMC8c8C5FHbXW7D6TIu9tHqJB/2Oab7j44p
23
24 /
Procedure created.
当需要加密的文件很多时,也可以这样:
SQL> start /home/oracle/test.plb;
Procedure created.
SQL>
SQL> set serveroutput on;
SQL> exec test;#执行test过程,正确输出
welcome to oracle!
PL/SQL procedure successfully completed.
SQL>
现在就可以把文件test.plb发给客户使用了,而不必担心你的源代码的暴露。
- oracle加密工具
- oracle加密工具wrap
- oracle加密工具
- 加密工具
- 加密工具
- 加密工具
- 加密工具
- 加密工具。
- 使用Oracle Wrap工具加密你的代码
- 使用Oracle Wrap工具加密你的代码
- 使用Oracle Wrap工具加密你的代码
- 使用WRAP工具对ORACLE代码进行加密
- 使用oracle wrap工具加密package,function,procedure等
- oracle加密
- 工具类三:加密工具
- 加密连接工具?
- MD5 加密工具类
- 不用工具加密文件夹
- matlab在linux下遇到问题
- Oracle中视图的创建和处理方法
- ORACLE ROLLUP和CUBE的使用
- 快速排序的两个JAVA实现
- 三门问题
- oracle加密工具
- 移动周报:直接拿来用!最火的Android开源项目
- 操作系统_再识(Linux内核分析)
- linux启动过程
- java书籍推荐
- java 调用API 编译生成class文件,并加载产生对象
- 触摸屏驱动s3c2410_ts.c分析
- BinarySearch
- 本博客所有ACM题目AC代码(持续更新中)