ITPub博客

首页 > 数据库 > Oracle > oracle加密函数或存储过程代码的两种方式

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

原创 Oracle 作者:lmxx2020 时间:2025-03-28 10:30:29 0 删除 编辑

方式一:

$ 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.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,单引号需要两个

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22967847/viewspace-3079288/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2024-01-09

  • 博文量
    106
  • 访问量
    90380