oracle加密函数或存储过程代码的两种方式

方式一:

$ wrap iname=call.sql oname=call.plb

PL/SQL Wrapper: Release 19.0.0.0.0 - Production on Fri Mar 28 09:17:06 2025
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

Processing call.sql to call.plb
[oracle@rac1 bk]$ ls
call.plb  call.sql  
[oracle@rac1 bk]$ cat call.plb
CREATE OR REPLACE FUNCTION call_OracleJD wrapped
a000000
1
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
8
8e c2
32vWR/3HmYIRveYpXw2AxlcmRtcwg8eZgcfLCNL+XlrcR/r0/pbyWf+hgcDMULjfw+fHdMAz
uHRlJcPnwLK9spvWmbitOdXOV5K+B3tFmMUwrUCtwDqtkkXFTWr1HpSOQ0mwbx+YFKcUJ5Fs
p2z8QxSLYx5EnI4Bi2P2xY5jp4lvQz4ODE26x3+mprPeVr0=

/

在sqlplus下执行加密函数即可
@call.plb
 

方式二:

使用自带的存储过程加密,在执行密文
SELECT DBMS_DDL.WRAP('
CREATE OR REPLACE FUNCTION call_OracleJD (c1 VARCHAR2) RETURN VARCHAR2
AS LANGUAGE JAVA
NAME ''OracleJD.processData(java.lang.String) return java.lang.String'';
') FROM dual;

SELECT DBMS_DDL.WRAP(q'[
CREATE OR REPLACE FUNCTION call_OracleJD (c1 VARCHAR2) RETURN VARCHAR2
AS LANGUAGE JAVA
NAME 'OracleJD.processData(java.lang.String) return java.lang.String';
]') FROM dual;


使用q'[ ]' 避免单引号冲突,不使用q,单引号需要两个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值