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 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,现在它的内容如下:
  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
  SQL> @d:a.plb
  过程已创建。
  6、运行存储过程
  SQL> set serveroutput on

  SQL> execute test1(1);
  输入参数是1
  PL/SQL 过程已成功完成。
  7、查看存储过程的代码
  SQL> select name,text from all_source where type='PROCEDURE' and name='TEST1';
  结果:看不到其原码

(0)

相关推荐

  • Oracle数据加密方法分析

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

  • 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返回的字

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

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

  • 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下加密存储过程的方法

    方法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.数 据 库: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(

  • 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

  • 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调用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

  • 用PHP调用Oracle存储过程的方法

    但是使用存储过程至少有两个最明显的优点:速度和效率.使用存储过程的速度显然更快.在效率上,如果应用一次需要做一系列sql操作,则需要往返于php与oracle,不如把该应用直接放到数据库方以减少往返次数,增加效率.但是在internet应用上,速度是极度重要的,所以很有必要使用存储过程.偶也是使用php调用存储过程不久,做了下面这个列子. 代码 复制代码 代码如下: //建立一个test表 create table test ( id number(16) not null, name varc

  • java调用Oracle存储过程的方法实例

    1.测试添加数据的procedure 复制代码 代码如下: public void testProcedure() {        Connection con = getConnction(); // **1.测试添加数据的procedure          String procedure = "{call users_insert_proc(?,?,?,?) }"; CallableStatement cs = null;        try {             c

  • 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

随机推荐