`
guohf
  • 浏览: 417917 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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(length(p_text)/8)+1)*8, chr(0));
raw_input := UTL_RAW.CAST_TO_RAW(v_text);
key_input := UTL_RAW.CAST_TO_RAW(p_key);
dbms_obfuscation_toolkit.DESEncrypt(input => raw_input,key => key_input,encrypted_data =>decrypted_raw);
v_enc := rawtohex(decrypted_raw);
dbms_output.put_line(v_enc);
return v_enc;
end;

(2)DES解密函数

create or replace function decrypt_des(p_text varchar2,p_key varchar2) return varchar2 is
v_text varchar2(2000); 
begin
dbms_obfuscation_toolkit.DESDECRYPT(input_string => UTL_RAW.CAST_TO_varchar2(p_text),key_string =>p_key, decrypted_string=> v_text);
v_text := rtrim(v_text,chr(0));
dbms_output.put_line(v_text);
return v_text;
end;

(3)MD5加密函数

CREATE OR REPLACE FUNCTION MD5(passwd IN VARCHAR2)
RETURN VARCHAR2
IS
retval varchar2(32);
BEGIN
retval := utl_raw.cast_to_raw(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_STRING => passwd)) ;
RETURN retval;
END;

(4)函数使用示例

DES加密: update tb_salarysign_staff s set s.staffpwd =encrypt_des(s.staffpwd, 'test#5&124*!de');

DES解密:select decrypt_des(s.staffpwd, 'test#5&124*!de') from tb_salarysign_staff s

MD5加密: update tb_salarysign_staff s set s.staffpwd = md5(s.staffpwd);

分享到:
评论

相关推荐

    Oracle9i用户加密算法

    Oracle9i利用了DBMS_OBFUSCATION_TOOLKIT包中的DES加密解密函数,为用户提供了一种简便的方式来保护数据的安全。 #### 三、Oracle9i用户加密算法实现 在提供的代码片段中,我们可以看到一个名为`NFD_sys_user`的包...

    示例详解Oracle中的加密包及算法.doc

    本文主要探讨Oracle中的加密包及算法,帮助理解加密的重要性和实现方式。 一、为什么需要加密 在信息化社会,企业存储的数据中往往包含大量敏感信息,如财务数据、客户信息等。这些数据的安全性至关重要,防止未经...

    dbms_obfuscation_toolkit加密解密数据

    DBMS_OBFUSCATION_TOOLKIT是Oracle数据库提供的一种用于数据加密解密的强大工具包,自Oracle 8i版本开始引入。它支持多种加密算法,如DES、TripleDES以及MD5等,能够为数据的安全性提供强有力的保障。下面将详细介绍...

    [J2SE]Java中3DES加密解密调用示例

    一种常见的数据安全需求是数据加密和解密,而DESede,即3DES(三重数据加密算法)是一种基于DES(数据加密标准)的对称密钥加密算法的增强版,它通过将同一个密钥进行三次DES加密,提供更高的安全性。 在J2SE(Java...

    Oracle储存过程包加解密实现

    首先,Oracle的DBMS_CRYPTO包提供了各种加密和哈希函数,可以用来加密和解密数据。这个包包含了多种加密算法,如AES(高级加密标准)、DES(数据加密标准)和RC4等。例如,要对一个字符串进行AES加密,可以使用以下...

    Java加密与解密的艺术PDF和源码

    "Java加密与解密的艺术"是一本深入探讨这个主题的专业书籍,它提供了详细的理论知识和实际操作示例,帮助开发者掌握如何在Java环境中实现安全的数据加密和解密。这本书的PDF版本和源码一起提供,为读者提供了更直观...

    基于C++的AES加密和解密代码_基于C++的AES加密和解密代码._

    - **安全性**:在实际应用中,除了加密和解密,还需要考虑密钥的安全存储和管理,以及可能的攻击模式,如 Padding Oracle 攻击等。 - **MFC工程**:描述中提到的MFC(Microsoft Foundation Classes)是微软提供的...

    解密WebLogic的密码 - 安全客 - 有思想的安全新媒体1

    2. **3DES加密**: 在较旧的WebLogic版本中,密码可能会使用3DES加密,例如`{3DES}JMRazF/vClP1WAgy1czd2Q==`。3DES是基于DES(数据加密标准)的三次迭代,提高了加密强度,但相比AES,其计算效率较低。 3. **解密...

    解密JBoss和Weblogic数据源连接字符串和控制台密码 _ WooYun知识库1

    对于3DES或AES加密算法,解密操作通常需要了解加密密钥,并通过编写相应的解密代码或使用专门的工具来完成。 **总结** 无论是JBoss还是WebLogic,虽然它们都提供了对敏感信息的加密保护,但由于所使用的加密算法...

    des.rar_Java 8

    DES使用了64位的数据块和56位的密钥进行加密和解密,其工作原理基于Feistel结构,通过一系列的置换和轮函数将明文转换成密文。然而,由于其密钥长度较短,在现代计算能力面前,DES已经不被视为安全,通常会使用它的...

    dse加密所需jar包

    以下是一个简单的DES加密示例: ```java import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; import java.security.SecureRandom; public class ...

    等级保护数据库攻防脱敏.pdf

    在数据库中,DESEncrypt和DESDecrypt函数示例展示了如何在Oracle数据库中使用DES算法进行加密和解密。DESEncrypt函数接收明文和密钥作为输入,返回加密后的十六进制字符串;DESDecrypt函数则将加密的十六进制字符串...

    Art of Cryptography in Java

    同时,文件的加密解密可以通过FileInputStream和FileOutputStream结合Cipher流实现。 9. 安全注意事项 虽然Java提供了强大的加密工具,但开发者仍需注意密钥管理、随机数生成器的使用、防止中间人攻击等问题,以...

    OracleTDE透明加密研究以及测试.docx

    ### Oracle TDE 透明加密研究及测试 #### 一、Oracle TDE 概述 ##### 1.1 创建wallet(钱夹)目录以及指定位置 透明数据加密 (TDE) 是 Oracle 数据库提供的一种用于保护敏感数据的安全特性。在首次使用 TDE 时,...

    CryptoJS加密模块源码开源-易语言

    - 除了基本的加密解密,CryptoJS还支持其他高级功能,如HMAC(消息认证码)用于验证消息完整性,CTR(计数器模式)和GCM(计数器模式带消息认证码)提供流加密等。 7. **学习资源**: - 官方文档:了解详细功能和...

    vc++ 应用源码包_1

    DES加密算法源代码 Detected memory leaks 检查内存泄漏源码 DigiStatic_src 自绘CStatic实现数字效果。 DirectShow开发指南pdf附属代码 DirectShow开发指南源码 directUI_D DirectUI界面库 DOM应用---遍历...

    网络安全的密码学.zip

    2. 哈希函数:讨论用于消息摘要的哈希函数,如MD5和SHA系列,以及它们在数字签名和数据完整性验证中的作用。 3. 公钥基础设施(PKI):解释X.509证书、证书颁发机构(CA)以及它们在建立信任链中的角色。 4. 数字...

    Java基础学习42.pdf

    常见的加密算法包括单向加密(如MD5和SHA)、对称加密(如DES)和非对称加密(如RSA)。例如,MD5常用于快速校验数据完整性,而RSA则在需要安全通信时提供公钥和私钥加密。 在Druid中,我们可以利用ConfigTools进行...

Global site tag (gtag.js) - Google Analytics