热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

oracle存储过程加密的方法

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';
  结果:看不到其源码
推荐阅读
  • 使用C#向mysql的date字段插入空值时,报错,怎么办?
    使用的是ado.net的参数化查询方式,不知道是怎么回事? ... [详细]
  • MySQL磁盘空间满的解决方案及预防措施
    本文介绍了一个案例,其中MySQL服务器的磁盘使用率达到100%,仅剩余几十兆空间。通过一系列操作,包括备份数据库、删除实例、删除数据库表以及重启MySQL服务,但未能有效释放磁盘空间。文章进一步探讨了可能的原因和最终解决问题的方法。 ... [详细]
  • 本文探讨了如何利用Pandas库在Python中执行复杂的多条件左连接操作,特别是当需要基于不同列的不同键进行连接时的方法。 ... [详细]
  • 本文详细介绍如何在Spring Boot项目中集成和使用JPA,涵盖JPA的基本概念、Spring Data JPA的功能以及具体的操作步骤,帮助开发者快速掌握这一强大的持久化技术。 ... [详细]
  • 设计模式系列-原型模式
    一、上篇回顾上篇创建者模式中,我们主要讲述了创建者的几类实现方案,和创建者模式的应用的场景和特点,创建者模式适合创建复杂的对象,并且这些对象的每个组成部分的详细创建步骤可以是动态的变化的,但 ... [详细]
  • 抽象工厂模式 c++
    抽象工厂模式包含如下角色:AbstractFactory:抽象工厂ConcreteFactory:具体工厂AbstractProduct:抽象产品Product:具体产品https ... [详细]
  • 代码生成器实战教程:提升编程效率的利器
    本系列文章旨在通过一系列实践案例,详细介绍如何利用代码生成器提高开发效率。本文将引导您完成从下载安装到实际应用的全过程。 ... [详细]
  • UMPlatForm.NET 5.1 版本数据字典管理功能解析
    本文介绍了 UMPlatForm.NET 5.1 版本中的数据字典管理模块,探讨了该模块如何支持平台的数据共享与管理,以及如何通过用户和角色权限来增强系统的安全性。 ... [详细]
  • 本文探讨了SQLAlchemy ORM框架中如何利用外键和关系(relationship)来建立表间联系,简化复杂的查询操作。通过示例代码详细解释了relationship的定义、使用方法及其与外键的相互作用。 ... [详细]
  • 本文介绍了Android SDK Platform Tools的核心功能及其重要性。作为Android SDK的一个关键组成部分,Platform Tools提供了开发者与Android设备进行交互所需的各种工具。 ... [详细]
  • 本文档提供了详细的MySQL安装步骤,包括解压安装文件、选择安装类型、配置MySQL服务以及设置管理员密码等关键环节,帮助用户顺利完成MySQL的安装。 ... [详细]
  • 本文探讨了HTA(HTML Application)环境中HTML5 IndexedDB的可用性问题,并提供了一种替代方案,即通过使用COM ActiveX对象来实现数据存储功能。 ... [详细]
  • 本文介绍了多种将多行数据合并为单行的方法,包括使用动态SQL、函数、CTE等技术,适用于不同的SQL Server版本。 ... [详细]
  • SQLite是一种轻量级的关系型数据库管理系统,尽管体积小巧,却能支持高达2TB的数据库容量,每个数据库以单个文件形式存储。本文将详细介绍SQLite在Android开发中的应用,包括其数据存储机制、事务处理方式及数据类型的动态特性。 ... [详细]
  • Navicat Premium中MySQL用户管理:创建新用户及高级设置
    本文作为Navicat Premium用户管理系列的第二部分,主要介绍如何创建新的MySQL用户,包括设置基本账户信息、密码策略、账户限制以及SSL配置等。 ... [详细]
author-avatar
不如藏拙_487
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有