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

来源:这里教程网 时间:2026-03-03 21:46:11 作者:

方式一:$ wrap iname=call.sql >

PL/SQL Wrapper: Release 19.0.0.0.0 - Production on Fri Mar 28 09:17:06 2025 Version 19.3.0.0.0Copyright (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,单引号需要两个

相关推荐