zoukankan      html  css  js  c++  java
  • oracle常用加解密函数

    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;
    
    select md5(1) from dual

    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;
    select encrypt_des('test', 'key123456789') from dual;

    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;
    select decrypt_des('test', 'key123456789') from dual;
  • 相关阅读:
    LeetCode 560. Subarray Sum Equals K (子数组之和等于K)
    25、LinkedList特有方法
    24、List三个子类的特点
    23、数据结构之数组和链表
    22、Vector简介
    21、List遍历时修改元素的问题
    20、List集合中特有的方法
    19、集合概述
    18、Random类简介
    17、enum简介
  • 原文地址:https://www.cnblogs.com/linn/p/6956289.html
Copyright © 2011-2022 走看看