zoukankan      html  css  js  c++  java
  • Oracle定义DES加密解密及MD5加密函数

    http://blog.csdn.net/xdweleven/article/details/38319351
     
    (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);
  • 相关阅读:
    http从发出请求到接收响应的旅行
    git(二)github的使用入门及搜索技巧
    git(一) 基础
    获取基于Internet Explorer_Server的聊天窗口内容
    主机字节与网络字节的转换
    SQL Server存储过程中防止线程重入处理方式
    利用NVelocity 模版生成文本文件
    C# async await 学习笔记2
    C# async await 学习笔记1
    imx6 工具链下载地址
  • 原文地址:https://www.cnblogs.com/xiaoL/p/4019820.html
Copyright © 2011-2022 走看看