Oracle存储过程、函数、包加密wrap
wrap加密可以将PL/SQL的代码实现部分隐藏,提高代码的安全性,如存储过程、函数、包等都隐藏。
wrap加密的方法有两种,下面以函数为例分别介绍一下:
方法一:
编写好函数后保存到 d:\testWrap.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;
使用这种方法加密需要注意符号的转译。
通过如上所述的两种方法,可以对存储过程、函数、包等加密,无法看到其具体实现。
Oracle存储过程、函数、包加密wrap的更多相关文章
- oracle存储过程函数
1.函数 create or replace function get_Destroy_no return varchar2 is Result varchar2(50);begin SELECT m ...
- Oracle存储过程 函数 计算使用资源
目录 存储过程与函数 存储过程的优势 存储过程 打印语句 选择语句 函数 计算使用资源 存储过程与函数 存储过程的优势 存储过程 /* 多行注释 */ -- 单行注释 //展示错误信息 show er ...
- hibernate调用oracle存储过程||函数
pakeage dao.Impl; //调用函数FUN_GET(); public String get(String Id,String Name){ return getSession().cre ...
- oracle中函数和存储过程的区别和联系【转载竹沥半夏】
oracle中函数和存储过程的区别和联系[转载竹沥半夏] 在oracle中,函数和存储过程是经常使用到的,他们的语法中有很多相似的地方,但也有自己的特点.刚学完函数和存储过程,下面来和大家分享一下自己 ...
- Oracle存储过程和自定义函数
新博客文章链接,欢迎大家评论探讨 概述 存储过程和存储函数是指存储在数据库中供所有用户程序调用的子程序叫存储过程.存储函数. 异同点: 存储过程和存储函数的相同点:完成特定功能的程序. 存储过程和存储 ...
- oracle存储过程和存储函数&触发器
oracle存储过程和存储函数 指存储在数据库中供所有用户程序调用的子程序叫存储过程,存储函数 存储过程和存储函数的相同点:完成特定功能的程序 存储过程和存储函数的区别:是否用return语句返回值 ...
- MySQL存储过程中的3种循环,存储过程的基本语法,ORACLE与MYSQL的存储过程/函数的使用区别,退出存储过程方法
在MySQL存储过程的语句中有三个标准的循环方式:WHILE循环,LOOP循环以及REPEAT循环.还有一种非标准的循环方式:GOTO,不过这种循环方式最好别用,很容易引起程序的混乱,在这里就不错具体 ...
- oracle中函数和存储过程的区别和联系
oracle中函数和存储过程的区别和联系 在oracle中,函数和存储过程是经常使用到的,他们的语法中有很多相似的地方,但也有自己的特点.刚学完函数和存储过程,下面来和大家分享一下自己总结的关于函数和 ...
- Oracle存储函数,存储过程
一.Oracle存储函数:存储的PL/SQL语法块,完成特定的功能.1.语法: 函数关键字: function (1)创建函数 CREATE [OR REPLACE] FUNCTION <fun ...
- Oracle自定义函数和存储过程示例,自定义函数与存储过程区别
参考资料:http://www.newbooks.com.cn/info/60861.html oracle自定义函数学习和连接运算符(||) 贴一段中文文档示例,应该就可以开始工作了: --过程(P ...
随机推荐
- chrome浏览器调试JS代码
是怎么调试 JavaScript 程序的?最原始的方法是用 alert() 在页面上打印内容,稍微改进一点的方法是用 console.log() 在 JavaScript 控制台上输出内容.嗯~,用这 ...
- 【Leetcode_easy】989. Add to Array-Form of Integer
problem 989. Add to Array-Form of Integer 参考 1. Leetcode_easy_989. Add to Array-Form of Integer; 完
- build时自动清除console
一.第一种方法 安装 babel-plugin-transform-remove-console 修改 babel.config.js 文件 let transformRemoveConsolePlu ...
- 微信小程序 与后台交互----传递和回传时间
wxml代码 <!--index.wxml--> <view class="container"> <view class="section ...
- 基于java的简单Socket编程
1TCP协议与UDP协议 1.1 TCP TCP是(Tranfer Control Protocol)的简称,是一种面向连接的保证可靠传输的协议.通过TCP协议传输 ...
- 查看Mysql是否开启binlog
show variables like 'log_bin';
- Python:使用第三方库xlwt来写Excel
继上一篇文章使用xlrd来读Excel之后,这一篇文章就来介绍下,如何来写Excel,写Excel我们需要使用第三方库xlwt,和xlrd一样,xlrd表示read xls,xlwt表示write x ...
- memmove和memcpy函数的区别及实现
一.memmove()和memcpy()函数和strcpy()函数的区别: (1)使用的类型不同,strcpy()函数只对字符串进行操作:memmove()和memcpy()函数对所有类型都适用,为内 ...
- 串的两种模式匹配方式(BF/KMP算法)
前言 串,又称作字符串,它是由0个或者多个字符所组成的有限序列,串同样可以采用顺序存储和链式存储两种方式进行存储,在主串中查找定位子串问题(模式匹配)是串中最重要的操作之一,而不同的算法实现有着不同的 ...
- box-shadow 用法总结
一.基础知识 box-shadow 属性向框添加一个或多个阴影. 语法 box-shadow: offset-x offset-y blur spread color inset; box-shado ...