zoukankan      html  css  js  c++  java
  • Oracle列加密

    加密函数

    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;

    解密函数

    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;


    加密


    SQL> select encrypt_des('liang', 'xssssxxsese') from dual;

    ENCRYPT_DES('LIANG','XSSSSXXSESE')
    --------------------------------------------------------------------------------
    5DC5AC97C81ECEEF

    解密
    SQL> select decrypt_des('5DC5AC97C81ECEEF', 'xssssxxsese') from dual;

    DECRYPT_DES('5DC5AC97C81ECEEF','XSSSSXXSESE')
    --------------------------------------------------------------------------------
    liang

    create table test_des (id int ,passwd varchar2(200));
    insert into test_des values (1,encrypt_des('liang', 'xssssxxsese'));

    SQL> select * from test_des;

    ID PASSWD
    ---------- --------------------
    1 5DC5AC97C81ECEEF

    SQL> select id,decrypt_des(passwd, 'xssssxxsese') from test_des;

    ID DECRYPT_DES(PASSWD,'XSSSSXXSESE')
    ---------- ---------------------------------------
    1 liang




  • 相关阅读:
    模拟实现bind、call、apply函数
    模拟实现ECMAScript5新增的数组方法
    HBuilder mui页面间传值的几种方式
    手机端软键盘弹出挤压页面的问题
    js获取当前时间
    原生js根据class获取元素的方法
    jquery之获取select选中的值
    原生js获取元素属性值方法
    利用javascrit获取url传递的参数
    jQuery图片预加载(延迟加载)之插件Lazy Load
  • 原文地址:https://www.cnblogs.com/l10n/p/9103524.html
Copyright © 2011-2022 走看看