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




  • 相关阅读:
    6.linux下指定项目使用特定jdk
    5.linux 执行shell报bad interpreter:No such file or directory错误
    定时任务基础版本
    同一台电脑安装两个jdk切换问题
    接口如何设计?安全如何保证?签名如何实现?防重如何实现?
    spring boot常见get 、post请求参数处理
    bat例子
    1.Volatile关键字详解
    1.linux目录
    解析xml报文,xml与map互转
  • 原文地址:https://www.cnblogs.com/liang545621/p/9103524.html
Copyright © 2011-2022 走看看