oracle提供了一个叫wrap的操作系统命令行工具,用来加密存储过程、函数、包等PL/SQL源代码。防止其他用户对商业逻辑的偷窥,帮助保守商业密码。
语法
wrap iname=input_file [oname=output_file]
input_file为输入文件的名字,该文件含有源代码,output_file为输出文件的名字,oname可选,如果不带oname选项,则生成名字跟输入文件相同,文件后缀为.plb。
示例:
在/home/oracle目录下创建存储过程源文件pro_source.sql,内容为如下:
create or replace procedure hbk_secret is
begin
dbms_output.put_line('I Love you,zhanglulu,My wife');
end;
使用wrap命令生成加密,加密后的文件为pro_pwd.sql
[root@test11g oracle]# pwd
/home/oracle
[root@test11g oracle]# ll |grep pro_source.sql
-rw-r--r-- 1 root root 108 7月 10 17:08 pro_source.sql
[root@test11g oracle]# cat pro_source.sql
create or replace procedure hbk_secret is
begin
dbms_output.put_line('I Love you,zhanglulu,My wife');
end;
[root@test11g oracle]# wrap iname=/home/oracle/pro_source.sql oname=/home/oracle/pro_pwd.sql
PL/SQL Wrapper: Release 11.2.0.1.0- 64bit Production on Wed Jul 10 17: