zoukankan      html  css  js  c++  java
  • Oracle存储过程、函数、包加密wrap

    wrap加密可以将PL/SQL的代码实现部分隐藏,提高代码的安全性,如存储过程、函数、包等都隐藏。

    wrap加密的方法有两种,下面以函数为例分别介绍一下:

    方法一:

    编写好函数后保存到 d: estWrap.sql 文件

    CREATE OR REPLACE FUNCTION testwrap RETURN VARCHAR2 IS
    BEGIN
      RETURN(to_char(SYSDATE, 'yyyy-mm-dd hh24:mi:ss'));
    END testwrap;
    

     打开cmd命令窗口,执行如下命令

    D:>dir test*
     驱动器 D 中的卷没有标签。
     卷的序列号是 A5EB-573A
    
     D: 的目录
    
    2019/06/10  17:22               132 testwrap.sql
                   1 个文件            132 字节
                   0 个目录 184,808,128,512 可用字节
    
    D:>wrap iname=testwrap.sql
    
    PL/SQL Wrapper: Release 11.2.0.4.0- 64bit Production on 星期一 6月  10 17:25:03 2019
    
    Copyright (c) 1993, 2009, Oracle.  All rights reserved.
    
    Processing testwrap.sql to testwrap.plb
    
    D:>dir test*
     驱动器 D 中的卷没有标签。
     卷的序列号是 A5EB-573A
    
     D: 的目录
    
    2019/06/10  17:25               347 testwrap.plb
    2019/06/10  17:22               132 testwrap.sql
                   2 个文件            479 字节
                   0 个目录 184,808,124,416 可用字节
    

     执行后生成testwrap.plb文件,然后切换到sqlplus中执行 @d:testwrap.plb

    该命令执行成功函数即创建并加密完成。

    方法二:

    直接调用dbms_ddl包的create_wrapped实现加密

    BEGIN
      dbms_ddl.create_wrapped('CREATE OR REPLACE FUNCTION testwrap RETURN VARCHAR2 IS
    BEGIN
      RETURN(to_char(SYSDATE, ''yyyy-mm-dd hh24:mi:ss''));
    END testwrap;
    ');
    END;
    

     使用这种方法加密需要注意符号的转译。

    通过如上所述的两种方法,可以对存储过程、函数、包等加密,无法看到其具体实现。

  • 相关阅读:
    Activity具体解释(生命周期、以各种方式启动Activity、状态保存,全然退出等)
    StringBuffer和StringBuilder使用方法比較
    python 多线程编程
    八大排序算法总结
    腾讯面试
    顶尖的个人作品集站点设计赞赏
    MATLAB新手教程
    ThreadPoolExecutor使用介绍
    linux diff具体解释
    Android借助Application重写App的Crash(简易版)
  • 原文地址:https://www.cnblogs.com/colaclicken/p/10999245.html
Copyright © 2011-2022 走看看