加密oracle存储过程

oracle提供了wrap工具来加密包括procedure、function、package等的PL/SQL源代码 wrap的执行在OS的命令行环境下 语法:wrap iname=input_file [oname=output_file] 限制:字符串、数字、变量名、表名、字段名被保留在加密文件中的,仅加密运算法则并限制被解密。所以,也就无法隐藏表名或者密码等 有些新的sql语法,需要指定选项edebug=wrap_new_sql,否则不能被支持 注意: 1、wrap只能检测出基本的语法错误,而由于不登录数据库所以无法检查出语义的错误 2、向上兼容,而不能向下兼容,即低版本加密的过程可以到高版本上编译,反之不行 3、加密package是仅加密package body,而不加密包声明 4、windows平台上执行时显示错误:kgepop: no error frame to pop to for error 1801 需要先定义 set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK 举例: 源码 CREATE OR REPLACE PROCEDURE p_test (    i_var IN VARCHAR2,    o_var OUT VARCHAR2 ) IS BEGIN    o_var := i_var; END p_test; / 加密后的文件 CREATE OR REPLACE PROCEDURE p_test wrapped 0 abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd 3 7 9200000 1 4 0 5 2 :e: 1P_TEST: 1I_VAR: 1VARCHAR2: 1O_VAR: 1OUT: 0 0 0 1b 2 0 9a 8f a0 b0 3d 96 :2 a0 b0 54 b4 55 6a :2 a0 d b7 a4 a0 b1 11 68 4f 1d 17 b5 1b 2 0 3 1f 1b 1a 27 38 30 34 17 3f 2f 44 48 4c 50 54 2c 58 5c 60 62 6e 72 74 75 7e 1b 2 0 b 4 d :3 4 a e :2 4 :3 1 4 d 4 :2 1 5 :7 1 1b 4 0 1 :4 3 :5 4 2 :2 1 :3 7 :2 6 8 :7 1 80 4 :3 0 1 :a 0 16 1 :7 0 5 2c 0 :2 3 :3 0 2 :7 0 4 3 :3 0 a 15 0 7 5 :3 0 3 :3 0 4 :6 0 9 8 :3 0 b :2 0 16 1 c :2 0 4 :3 0 2 :3 0 e f 0 11 :3 0 15 1 :4 0 15 14 11 12 :6 0 16 :2 0 1 c 15 19 :3 0 18 16 1a 0 c 4 :3 0 1 2 1 6 2 5 a 1 10 1 4 0 19 0 1 14 1 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 6 1 0 2 1 0 0 / 加密文件名如果不指定的话,就是原文件主文件.plb 加密后使用 SQL> @加密文件名 编译到库中,查看的时候显示已经被加密 比如在pl/sql developer查看是显示 /* Source is wrapped */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值