- 浏览: 5173813 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
silence19841230:
先拿走看看
SpringBoot2.0开发WebSocket应用完整示例 -
wallimn:
masuweng 写道发下源码下载地址吧!三个相关文件打了个包 ...
SpringBoot2.0开发WebSocket应用完整示例 -
masuweng:
发下源码下载地址吧!
SpringBoot2.0开发WebSocket应用完整示例 -
masuweng:
SpringBoot2.0开发WebSocket应用完整示例 -
wallimn:
水淼火 写道你好,我使用以后,图标不显示,应该怎么引用呢,谢谢 ...
前端框架iviewui使用示例之菜单+多Tab页布局
双向加密算法
dbms_obfuscation_toolkit.desencrypt
dbms_obfuscation_toolkit.desdecrypt
dbms_obfuscation_toolkit.DES3Encrypt
dbms_obfuscation_toolkit.DES3Decrypt
单向加密算法
dbms_obfuscation_toolkit.md5
具体用法参见以下函数
--MD5加密
create or replace function
encrypt_md5(p_text varchar2) return varchar2 is
begin
--添加RawToHex(UTL_RAW.CAST_TO_RAW())为得是加密后的输出数据规范些
--input_string必须要有,否则没有办法区分到底是调用那个md5
return RawToHex(UTL_RAW.CAST_TO_RAW(dbms_obfuscation_toolkit.MD5(input_string=>p_text)));
end;
--DES加密
create or replace function
encrypt_des(p_text varchar2, p_key varchar2) return varchar2 is
begin
return UTL_RAW.CAST_TO_RAW(dbms_obfuscation_toolkit.DESENCRYPT(input_string => p_text,
key_string => p_key));
end;
--DES解密
create or replace function decrypt_data(p_text varchar2,p_key varchar2) return varchar2 is
v_text varchar2(4000);
begin
dbms_obfuscation_toolkit.DESDECRYPT(
input_string => UTL_RAW.CAST_TO_varchar2(p_text),
key_string => p_key,
decrypted_string=> v_text);
return v_text;
end;
附录oracle9.2文档自带的DES3加密解密实例:
DECLARE
input_string VARCHAR2(16) := 'tigertigertigert';
raw_input RAW(128) := UTL_RAW.CAST_TO_RAW(input_string);
key_string VARCHAR2(16) := 'scottscottscotts';
raw_key RAW(128) := UTL_RAW.CAST_TO_RAW(key_string);
encrypted_raw RAW(2048);
encrypted_string VARCHAR2(2048);
decrypted_raw RAW(2048);
decrypted_string VARCHAR2(2048);
error_in_input_buffer_length EXCEPTION;
PRAGMA EXCEPTION_INIT(error_in_input_buffer_length, -28232);
INPUT_BUFFER_LENGTH_ERR_MSG VARCHAR2(100) :=
'*** DES INPUT BUFFER NOT A MULTIPLE OF 8 BYTES - IGNORING EXCEPTION ***';
double_encrypt_not_permitted EXCEPTION;
PRAGMA EXCEPTION_INIT(double_encrypt_not_permitted, -28233);
DOUBLE_ENCRYPTION_ERR_MSG VARCHAR2(100) :=
'*** CANNOT DOUBLE ENCRYPT DATA - IGNORING EXCEPTION ***';
-- 1. Begin testing raw data encryption and decryption
BEGIN
dbms_output.put_line('> ========= BEGIN TEST RAW DATA =========');
dbms_output.put_line('> Raw input : ' ||
UTL_RAW.CAST_TO_VARCHAR2(raw_input));
BEGIN
dbms_obfuscation_toolkit.DES3Encrypt(input => raw_input,
key => raw_key, encrypted_data => encrypted_raw );
dbms_output.put_line('> encrypted hex value : ' ||
rawtohex(encrypted_raw));
dbms_obfuscation_toolkit.DES3Decrypt(input => encrypted_raw,
key => raw_key, decrypted_data => decrypted_raw);
dbms_output.put_line('> Decrypted raw output : ' ||
UTL_RAW.CAST_TO_VARCHAR2(decrypted_raw));
dbms_output.put_line('> ');
if UTL_RAW.CAST_TO_VARCHAR2(raw_input) =
UTL_RAW.CAST_TO_VARCHAR2(decrypted_raw) THEN
dbms_output.put_line('> Raw DES3 Encyption and Decryption successful');
END if;
EXCEPTION
WHEN error_in_input_buffer_length THEN
dbms_output.put_line('> ' || INPUT_BUFFER_LENGTH_ERR_MSG);
END;
dbms_output.put_line('> ');
END;
-- 2. Begin testing string data encryption and decryption
dbms_output.put_line('> ========= BEGIN TEST STRING DATA =========');
BEGIN
dbms_output.put_line('> input string : '
|| input_string);
dbms_obfuscation_toolkit.DES3Encrypt(
input_string => input_string,
key_string => key_string,
encrypted_string => encrypted_string );
dbms_output.put_line('> encrypted hex value : ' ||
rawtohex(UTL_RAW.CAST_TO_RAW(encrypted_string)));
dbms_obfuscation_toolkit.DES3Decrypt(
input_string => encrypted_string,
key_string => key_string,
decrypted_string => decrypted_string );
dbms_output.put_line('> decrypted string output : ' ||
decrypted_string);
if input_string = decrypted_string THEN
dbms_output.put_line('> String DES3 Encyption and Decryption
successful');
END if;
EXCEPTION
WHEN error_in_input_buffer_length THEN
dbms_output.put_line(' ' || INPUT_BUFFER_LENGTH_ERR_MSG);
END;
dbms_output.put_line('> ');
END;
不错的冬冬.共享一下!
转自:http://biancheng.dnbcw.info/oracle/300081.html
dbms_obfuscation_toolkit.desencrypt
dbms_obfuscation_toolkit.desdecrypt
dbms_obfuscation_toolkit.DES3Encrypt
dbms_obfuscation_toolkit.DES3Decrypt
单向加密算法
dbms_obfuscation_toolkit.md5
具体用法参见以下函数
--MD5加密
create or replace function
encrypt_md5(p_text varchar2) return varchar2 is
begin
--添加RawToHex(UTL_RAW.CAST_TO_RAW())为得是加密后的输出数据规范些
--input_string必须要有,否则没有办法区分到底是调用那个md5
return RawToHex(UTL_RAW.CAST_TO_RAW(dbms_obfuscation_toolkit.MD5(input_string=>p_text)));
end;
--DES加密
create or replace function
encrypt_des(p_text varchar2, p_key varchar2) return varchar2 is
begin
return UTL_RAW.CAST_TO_RAW(dbms_obfuscation_toolkit.DESENCRYPT(input_string => p_text,
key_string => p_key));
end;
--DES解密
create or replace function decrypt_data(p_text varchar2,p_key varchar2) return varchar2 is
v_text varchar2(4000);
begin
dbms_obfuscation_toolkit.DESDECRYPT(
input_string => UTL_RAW.CAST_TO_varchar2(p_text),
key_string => p_key,
decrypted_string=> v_text);
return v_text;
end;
附录oracle9.2文档自带的DES3加密解密实例:
DECLARE
input_string VARCHAR2(16) := 'tigertigertigert';
raw_input RAW(128) := UTL_RAW.CAST_TO_RAW(input_string);
key_string VARCHAR2(16) := 'scottscottscotts';
raw_key RAW(128) := UTL_RAW.CAST_TO_RAW(key_string);
encrypted_raw RAW(2048);
encrypted_string VARCHAR2(2048);
decrypted_raw RAW(2048);
decrypted_string VARCHAR2(2048);
error_in_input_buffer_length EXCEPTION;
PRAGMA EXCEPTION_INIT(error_in_input_buffer_length, -28232);
INPUT_BUFFER_LENGTH_ERR_MSG VARCHAR2(100) :=
'*** DES INPUT BUFFER NOT A MULTIPLE OF 8 BYTES - IGNORING EXCEPTION ***';
double_encrypt_not_permitted EXCEPTION;
PRAGMA EXCEPTION_INIT(double_encrypt_not_permitted, -28233);
DOUBLE_ENCRYPTION_ERR_MSG VARCHAR2(100) :=
'*** CANNOT DOUBLE ENCRYPT DATA - IGNORING EXCEPTION ***';
-- 1. Begin testing raw data encryption and decryption
BEGIN
dbms_output.put_line('> ========= BEGIN TEST RAW DATA =========');
dbms_output.put_line('> Raw input : ' ||
UTL_RAW.CAST_TO_VARCHAR2(raw_input));
BEGIN
dbms_obfuscation_toolkit.DES3Encrypt(input => raw_input,
key => raw_key, encrypted_data => encrypted_raw );
dbms_output.put_line('> encrypted hex value : ' ||
rawtohex(encrypted_raw));
dbms_obfuscation_toolkit.DES3Decrypt(input => encrypted_raw,
key => raw_key, decrypted_data => decrypted_raw);
dbms_output.put_line('> Decrypted raw output : ' ||
UTL_RAW.CAST_TO_VARCHAR2(decrypted_raw));
dbms_output.put_line('> ');
if UTL_RAW.CAST_TO_VARCHAR2(raw_input) =
UTL_RAW.CAST_TO_VARCHAR2(decrypted_raw) THEN
dbms_output.put_line('> Raw DES3 Encyption and Decryption successful');
END if;
EXCEPTION
WHEN error_in_input_buffer_length THEN
dbms_output.put_line('> ' || INPUT_BUFFER_LENGTH_ERR_MSG);
END;
dbms_output.put_line('> ');
END;
-- 2. Begin testing string data encryption and decryption
dbms_output.put_line('> ========= BEGIN TEST STRING DATA =========');
BEGIN
dbms_output.put_line('> input string : '
|| input_string);
dbms_obfuscation_toolkit.DES3Encrypt(
input_string => input_string,
key_string => key_string,
encrypted_string => encrypted_string );
dbms_output.put_line('> encrypted hex value : ' ||
rawtohex(UTL_RAW.CAST_TO_RAW(encrypted_string)));
dbms_obfuscation_toolkit.DES3Decrypt(
input_string => encrypted_string,
key_string => key_string,
decrypted_string => decrypted_string );
dbms_output.put_line('> decrypted string output : ' ||
decrypted_string);
if input_string = decrypted_string THEN
dbms_output.put_line('> String DES3 Encyption and Decryption
successful');
END if;
EXCEPTION
WHEN error_in_input_buffer_length THEN
dbms_output.put_line(' ' || INPUT_BUFFER_LENGTH_ERR_MSG);
END;
dbms_output.put_line('> ');
END;
不错的冬冬.共享一下!
转自:http://biancheng.dnbcw.info/oracle/300081.html
发表评论
-
Oracle连接故障的排除
2024-09-09 22:33 641Oracle版本为11G,操作系统为Windows Ser ... -
Oracle数据库相关系统突然提示“SQLException:违反协议”
2024-02-19 15:50 5135SQLException:违反协议这个异常可能由很多的 ... -
CentOS在Docker中安装Oracle
2024-02-06 12:13 12721.拉取Oracle镜像,并检 ... -
Windows Server安装oracle数据库一直停在82%
2023-02-04 12:01 621网上有个说法:服务器超过一定数量的CPU后,将不能正常安装 ... -
ORA-04030错误处理
2023-02-04 11:52 2700【错误描述】 错误信息如下: ORA-04030:在尝 ... -
ORA-04030错误处理
2023-02-04 11:45 403【错误描述】 错误信息如下: ORA-04030:在尝 ... -
Linux安装MySQL数据库
2019-06-10 22:27 18231.进入安装包所在目录,解压: tar zxvf mysql- ... -
确定MySQL在Linux系统中配置文件的位置
2019-04-14 19:30 27861.通过which mysql命令来查看mysql的安装位置。 ... -
mysql set names 命令和 mysql 字符编码问题
2019-04-12 00:34 1164转自:https://www.cnblogs.com/digd ... -
MYSQL中取当前周/月/季/年的第一天与最后一天
2018-11-17 23:16 2221转自:https://blog.csdn.net/ ... -
Oracle删除大量数据的实践
2016-11-07 18:03 5841一、引言 从来没有 ... -
Oracle 数据库简明教程 V0.1
2016-03-23 21:01 2071供初学者入门学习使用,以开发者常见、常用的知识为主,基本上 ... -
Oracle拆分字符串函数
2016-03-23 10:58 3372create or replace type string ... -
Oracle数据库远程连接无响应
2016-03-21 10:20 4330故障现象: 服务器本机使用sqlplus / as s ... -
Oracle PGA详解
2015-10-21 15:34 11495转自:http://yanguz123.iteye.com/b ... -
Oracle12C导入dmp数据
2015-10-08 23:43 20557Oracle12C,发生了较大的变化。以前熟悉的东西变得陌 ... -
SQLLDR数据导入小结
2015-07-25 22:06 75451.创建数据表 CREATE TABLE ... -
Window7安装Oracle10
2015-03-06 12:14 1627每次安装都要百度,转到自己的博客上,找起来方便,还能增加访 ... -
Oracle SQL Developer 连接 Mysql 数据库
2015-02-25 19:36 3689下载JDBC包,解压缩这里只要mysql-connector- ... -
Mysql数据备份与恢复
2015-02-25 19:15 1369备份/恢复策略 1. 要定期做 mysql备份,并考虑系统可以 ...
相关推荐
4、详尽注释文档: 提供了完整的函数代码及详细的注释说明,便于用户快速理解与应用,同时降低了维护成本,简化了加密解密流程,提升开发效率。 5、灵活性:提供解密(DECRYPT_DES)和加密(ENCRYPT_DES)两个函数,...
ORACLE数据加密解密处理的设计及实现 oracle数据库加密解密处理是关系型数据库安全的一个重要方面。随着企业信息化建设的推进,信息安全变得越来越重要。该文档对ORACLE数据库加密解密处理的设计及实现进行了详细...
oracle db内部的package全部是加密的,需要解密使用oracle wrap加密过的程序包,而unwrap解密工具可以拿到明文的package源代码。 解密的理论依据都来源于 "The oracle hacker's handbook" by David Litchfield 这...
标题“oracle数据库解密工具”暗示了我们讨论的主题,即一种能帮助用户解析和理解Oracle数据库中加密或编译后的存储过程的软件工具。这类工具通常能够将二进制形式的PL/SQL代码还原成人类可读的文本格式,以便于分析...
"ORACLE数据加密解密处理的设计及实现.pdf" 本文档介绍了ORACLE数据库中数据加密解密处理的设计及实现,旨在解决企业信息化建设中信息安全问题。通过Powerbuilder数据窗口对表中所有解密数据进行编辑,编辑完成后...
Oracle存储过程unwrap解密工具主要用于处理Oracle数据库中的加密存储过程。在Oracle数据库系统中,为了保护敏感代码或数据,开发人员有时会选择对存储过程进行加密。然而,当需要查看、调试或恢复这些加密的存储过程...
在IT领域,尤其是在数据库安全...总结而言,Oracle提供了多种方法来实现MD5加密,从简单的内置函数到自定义包的创建,每种方法都有其适用场景。理解这些方法及其工作原理,对于开发安全可靠的数据库应用程序至关重要。
1、oracle 数据表或者部分列加密 1.1 oracle 对称加密与非对称加密算法及密钥保管 1.2 部分字段加密 2、oracle 数据表或者行、列访问控制 3、2者结合解决项目实际过程中的问题 主要技术要点: 1、oracle 源代码...
通过对 Oracle 10g 和 9i 中加密解密函数的分析可以看出,不同版本的 Oracle 提供了不同的工具包来支持数据的加密与解密操作。在选择合适的加密算法时,应根据实际需求以及 Oracle 版本的不同来进行选择。同时,还...
oracle存储过程加密破解 0
Oracle数据库提供了多种加密功能,包括DES加密和MD5加密,用于数据的安全存储和保护敏感信息。以下是对这些加密函数的详细说明: 1. **DES(Data Encryption Standard)加密**: DES是一种对称加密算法,它使用56...
本文将详细介绍Oracle9i中的用户加密算法,特别是DES(Data Encryption Standard)加密解密方法。 #### 二、Oracle9i用户加密算法背景 Oracle9i是Oracle公司发布的一款关系型数据库管理系统,它提供了丰富的功能和...
Oracle Wrapped 解密工具是一款专为Oracle数据库用户设计的实用程序,旨在帮助他们处理加密的PL/SQL代码。在Oracle数据库中,"wrapped"代码是指经过编译和加密的存储过程、函数或包,通常用于保护敏感的商业逻辑或源...
- 数据加密时,Oracle数据库首先从密钥库中获取主密钥,然后解密加密密钥,再使用加密密钥加密用户数据,最后将加密后的数据存储到数据库中。 3. **实施示例**: - TDE适用于各种操作系统环境,如描述中提到的...
在实施Oracle数据加密时,企业需要考虑性能影响,因为加密和解密操作会消耗计算资源。不过,Oracle的TDE通常对性能的影响较小,因为它在I/O层进行加密,而不是在SQL处理层。 总结来说,Oracle数据加密是一套强大的...
Oracle FYunwrap 是一款专为Oracle数据库设计的对象解密工具,主要功能是针对使用`wrap`命令加密的PL/SQL代码进行解密。在Oracle数据库中,`wrap`命令被用来压缩和加密源代码,以保护敏感的数据库逻辑不被轻易查看或...
在开发或维护Oracle数据库应用时,有时我们需要对已加密的代码或数据进行反编译或解密,以便理解其工作原理或修复问题。"Oracle 反加密反编译器"就是这样一个工具,它提供了方便快捷的方式来处理这些需求。 首先,...
Oracle10g TDE技术使用加密钱包(Wallet)来管理加密密钥,通过内置包dbms_crypto进行加密和解密操作。 Oracle的TDE技术为数据库管理员提供了方便,他们可以通过TDE直接加密整个数据文件或特定的数据表,这样即使...
在Java中实现加密解密,通常会使用`java.security`包下的类,如`Cipher`,它可以实现各种复杂的加密算法,如AES、RSA等。然而,凯撒加密法的实现相对简单,可以直接用字符串操作来完成。程序可能包括两个主要部分:...
Oracle加密技术是保护数据库中敏感数据安全的重要手段,它利用一系列的加密算法将明文数据转换为密文,确保数据即便在遭受未授权访问时也难以被解读。加密技术包括不同的算法分类,每种算法有其特定的用途和安全性。...