oracle 存储过程加密的方法

配置环境:
  1、数 据 库:Oracle 8i R2 (8.1.7) for NT 企业版
  2、安装路径:C:ORACLE
  实现方法:
  1.D:>set NLS_LANG=AMERICAN_AMERICA.USACII7
   或
   D:>set NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
D:>set
  直接打set命令可以查看环境变量
  2.在D:下创建a.sql文件,内容如下:
Java代码
  create or replace procedure test1(i in number) as
   begin
   dbms_output.put_line('输入参数是'||to_char(i));
   end;
  create or replace procedure test1(i in number) as
   begin
   dbms_output.put_line('输入参数是'||to_char(i));
   end;
  3.D:>wrap iname=a.sql
  PL/SQL Wrapper: Release 8.1.7.0.0 - Production on Tue Nov 27 22:26:48 2001
  Copyright (c) Oracle Corporation 1993, 2000. All Rights Reserved.
  Processing a.sql to a.plb
  4.打开a.plb,现在它的内容如下:
 Java代码
 create or replace procedure test1 wrapped
   0
   abcd
   abcd
   abcd
   abcd
   abcd
   abcd
   abcd
   abcd
   abcd
   abcd
   abcd
   abcd
   abcd
   abcd
   abcd
   3
   7
   8106000
   1
   4
   0
   8
   2 :e:
   1TEST1:
   1I:
   1NUMBER:
   1DBMS_OUTPUT:
   1PUT_LINE:
   1输入参数是:
   1||:
   1TO_CHAR:
   0
  
   0
   0
   1f
   2
   0 1d 9a 8f a0 b0 3d b4
   55 6a :2 a0 6b 6e 7e :2 a0 a5
   b b4 2e a5 57 b7 a4 b1
   11 68 4f 17 b5
   1f
   2
   0 3 4 1d 19 18 25 15
   2a 2e 32 36 3a 3d 42 45
   49 4d 4e 50 51 56 57 5c
   5e 62 64 70 74 76 7f
   1f
   2
   0 1 b 11 16 :2 11 10 :3 1
   :2 d 16 22 24 2c :2 24 :2 16 :a 1
  
   1f
   2
   0 :9 1 :d 3 :2 2 :3 1 4 :2 1
   81
   4
   :4 0 1 :a 0 1b
   1 :4 0 5 :2 0
   :2 3 :3 0 2 :7 0
   5 4 :3 0 7
   :2 0 1b 2 8
   :2 0 4 :3 0 5
   :3 0 a b 0
   6 :4 0 7 :2 0
   8 :3 0 2 :3 0
   7 f 11 9
   e 13 :3 0 :2 c
   15 :2 0 17 10
   1a :3 0 1a 0
   1a 19 17 18
   :6 0 1b :2 0 2
   8 1a 1d :2 0
   1 1b 1e :8 0
  
   13
   4
   :3 0 1 3 1
   6 1 10 2
   d 12 1 14
   1 16 2 16
   1c
   1
   4
   0
   1d
   0
   1
   14
   1
   2
   0 0 0 0 0 0 0 0
   0 0 0 0 0 0 0 0
   0 0 0 0
   2 0 1
   3 1 0
   0
 create or replace procedure test1 wrapped
   0
   abcd
   abcd
   abcd
   abcd
   abcd
   abcd
   abcd
   abcd
   abcd
   abcd
   abcd
   abcd
   abcd
   abcd
   abcd
   3
   7
   8106000
   1
   4
   0
   8
   2 :e:
   1TEST1:
   1I:
   1NUMBER:
   1DBMS_OUTPUT:
   1PUT_LINE:
   1输入参数是:
   1||:
   1TO_CHAR:
   0
  
   0
   0
   1f
   2
   0 1d 9a 8f a0 b0 3d b4
   55 6a :2 a0 6b 6e 7e :2 a0 a5
   b b4 2e a5 57 b7 a4 b1
   11 68 4f 17 b5
   1f
   2
   0 3 4 1d 19 18 25 15
   2a 2e 32 36 3a 3d 42 45
   49 4d 4e 50 51 56 57 5c
   5e 62 64 70 74 76 7f
   1f
   2
   0 1 b 11 16 :2 11 10 :3 1
   :2 d 16 22 24 2c :2 24 :2 16 :a 1
  
   1f
   2
   0 :9 1 :d 3 :2 2 :3 1 4 :2 1
   81
   4
   :4 0 1 :a 0 1b
   1 :4 0 5 :2 0
   :2 3 :3 0 2 :7 0
   5 4 :3 0 7
   :2 0 1b 2 8
   :2 0 4 :3 0 5
   :3 0 a b 0
   6 :4 0 7 :2 0
   8 :3 0 2 :3 0
   7 f 11 9
   e 13 :3 0 :2 c
   15 :2 0 17 10
   1a :3 0 1a 0
   1a 19 17 18
   :6 0 1b :2 0 2
   8 1a 1d :2 0
   1 1b 1e :8 0
  
   13
   4
   :3 0 1 3 1
   6 1 10 2
   d 12 1 14
   1 16 2 16
   1c
   1
   4
   0
   1d
   0
   1
   14
   1
   2
   0 0 0 0 0 0 0 0
   0 0 0 0 0 0 0 0
   0 0 0 0
   2 0 1
   3 1 0
   0  
  5.运行a.plb
  Java代码
SQL> @d:a.plb
SQL> @d:a.plb
  过程已创建。
  6、运行存储过程
  Java代码
SQL> set serveroutput on
   SQL> execute test1(1);
SQL> set serveroutput on
   SQL> execute test1(1);
  输入参数是1
  PL/SQL 过程已成功完成。
  7、查看存储过程的代码
  Java代码
SQL> select name,text from all_source where type='PROCEDURE' and name='TEST1';
SQL> select name,text from all_source where type='PROCEDURE' and name='TEST1';
  结果:看不到其源码

(0)

相关推荐

  • Java、JavaScript、Oracle、MySQL中实现的MD5加密算法分享

    MD5,全称为 Message Digest Algorithm 5(消息摘要算法第五版).详情请参考 维基百科:MD5 MD5加密后是一个字节数组, 但我们一般是取其十六进制的字符串表示法,当然,十六进制数字符串是区分大小写,在 mysql数据库,Java,和JavaScript语言中,一般是使用小写的字符串来表示, 而在 Oracle数据库官方提供的包中,返回的是大写字符串,这算是一个坑,如果你想要执行多次 md5,可能需要转换为小写. 相关的代码如下: 1. Java版MD5 MD5Uti

  • oracle下加密存储过程的方法

    方法1: X:\oracle\ora81\bin\wrap   iname=XXX   oname=XXX 方法2:9i在win2000下使用wrap加密存储过程,10g可以用加密包dbms_ddl.wrap或dbms_ddl.create_wrapped. 11.5.1 在win2000下使用wrap加密存储过程 wrap.bat rem 使用方法:wrap 待加密的文件名 set NLS_LANG=AMERICAN_AMERICA.USACII7 wrap.exe iname=%1 paus

  • Oracle 存储过程加密方法

    软件环境: 1.操作系统:Windows 2000 Server 2.数 据 库:Oracle 8i R2 (8.1.7) for NT 企业版 3.安装路径:C:ORACLE 实现方法: 1. D:>set NLS_LANG=AMERICAN_AMERICA.USACII7 或 D:>set NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1 D:>set 直接打set命令可以查看环境变量 2. 在D:下创建a.sql文件,内容如下: create or re

  • Oracle中的MD5加密详解

    一.技术点 1. DBMS_OBFUSCATION_TOOLKIT.MD5 DBMS_OBFUSCATION_TOOLKIT.MD5是MD5编码的数据包函数,但偶在使用select DBMS_OBFUSCATION_TOOLKIT.MD5(input_string =>'abc') a from Dual时,却有错误提示,看来该函数只能直接在程序包中调用,不能直接应用于SELECT语句. 2.Utl_Raw.Cast_To_Raw DBMS_OBFUSCATION_TOOLKIT.MD5返回的字

  • Oracle定义DES加密解密及MD5加密函数示例

    (1)DES加密函数 create or replace function encrypt_des(p_text varchar2, p_key varchar2) return varchar2 is v_text varchar2(4000); v_enc varchar2(4000); raw_input RAW(128) ; key_input RAW(128) ; decrypted_raw RAW(2048); begin v_text := rpad( p_text, (trunc

  • Oracle数据加密方法分析

    本文实例讲述了Oracle数据加密方法.分享给大家供大家参考,具体如下: 使用MD5编码实现数据库用户密码字段的加密 一.前言 众所周知,MD5是目前应用最多的密码保护方法,该编码传说为不可逆加密编码(也就是说,永运无法倒算原码). 使用MD5加密用户的操作密码,可以有效防止系统维护人员直接进入数据库时出现系统安全漏洞(直接使用SELECT语句查询,将用户密码字段只能看到乱码,或者"****") 这里针对密码字段加密,作一实例,希望能给大家系统建设过程带来帮助. 二.技术点 1. DB

  • oracle 存储过程加密的方法

    配置环境: 1.数 据 库:Oracle 8i R2 (8.1.7) for NT 企业版 2.安装路径:C:ORACLE 实现方法: 1.D:>set NLS_LANG=AMERICAN_AMERICA.USACII7 或 D:>set NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1 D:>set 直接打set命令可以查看环境变量 2.在D:下创建a.sql文件,内容如下: Java代码 create or replace procedure test1(

  • windows中oracle存储过程加密的实例代码

    在硬盘中创建一个过程test.sql create or replace procedure test_bf is begin dbms_output.put_line('test success'); end; 然后通过使用oracle自带的wrap命令对过程进行加密 先打开CMD然后输入命令 wrap iname='input_name' oname='output-name' input_name是需要加密的文件的路径,output_name是输出的文件名,如果没有oname那么生成出来的

  • Mybatis传list参数调用oracle存储过程的解决方法

    怎么利用MyBatis传List类型参数到数据库存储过程中实现批量插入数据? MyBatis中参数是List类型时怎么处理?大家都知道MyBatis批处理大量数据是很难做到事务回滚的(事务由Spring管理),都将逻辑写在存储中又是及其头疼的一件事(参数长度也有限制),那么我想的是将参数在后台封装为单个或多个list集合,直接通过MyBatis将此参数传到数据库存储过程中,一来摆脱了MyBatis批量插入数据的诸多限制(例如:不能实时返回主键.foreach标签循环集合长度有限制),二来就是在存

  • Oracle存储过程、包、方法使用总结(推荐)

    Oracle存储过程.包.方法使用总结,具体代码如示: /** *@author:zhengwei *@date:2017-04-28 *@desc:存储过程用法总结 */ CREATE OR REPLACE PROCEDURE MYPROCEDURE(P_ID IN VARCHAR, P_STATUS OUT VARCHAR) --P_ID为输入参数 ,P_STATUS为输出参数 AS ---变量声明 T_STATUS VARCHAR2(20); T_ID NUMBER; V_POSTYPE

  • Mybatis调用Oracle存储过程的方法图文详解

    1:调用无参数的存储过程. 创建存储过程: Mapper.xml 配置:经测试其他标签(update.insert.select)也可以. Mapper.java MapperTest.java 测试 2:有参数的存储过程调用: 2.1存储过程的创建: 2.2Mapper.xml 的配置: 2.3Mapper.java 2.4MapperTest.java 测试 控制台输出: 3:存储过程的结果集调用. 3.1创建存储过程: 3.2 Mapper.xml 配置 配置 resultMap结果集字段

  • Python使用cx_Oracle调用Oracle存储过程的方法示例

    本文实例讲述了Python使用cx_Oracle调用Oracle存储过程的方法.分享给大家供大家参考,具体如下: 这里主要测试在Python中通过cx_Oracle调用PL/SQL. 首先,在数据库端创建简单的存储过程. create or replace procedure test_msg(i_user in varchar2, o_msg out varchar2) is begin o_msg := i_user ||', Good Morning!'; end; 然后,开始在Pytho

  • C#调用Oracle存储过程的方法

    本文实例讲述了C#调用Oracle存储过程的方法.分享给大家供大家参考.具体实现方法如下: Oracle数据库代码如下: 复制代码 代码如下: create or replace procedure proce_test(paramin in varchar2,paramout out varchar2,paraminout in out varchar2) as   varparam varchar2(28); begin   varparam:=paramin;   paramout:=va

  • asp.net中调用oracle存储过程的方法

    存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它. 存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程. 不多说了,本文通过两种方法介绍asp.net中调用oracle存储过程的方法,具体内容请看下面代码. 调用oracle存储过程方法一: ORACLE代码 CREATE OR REP

  • C#调用Oracle存储过程方法介绍(附源码)

    C#调用Oracle存储过程的代码如下所示: using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using System.Configuration; using System.Data; using System.Data.OracleClient; using System.Drawing; using Syste

随机推荐