zoukankan      html  css  js  c++  java
  • oracle 脱敏和加密

     脱敏:在此只是对数据如姓名,身份证号码等进行简单粗暴的脱敏,即改变数据
    针对于number类型的数据:update table_name set conlunm_name =  substr (conlunm_name ,start,length)||'0000';
    针对于number类型的数据:update table_name set conlunm_name =  substr (conlunm_name ,start,length)||'****';
    加密:此处将对于两种加密算法进行讲述:

    DES加密函数:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    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解密函数

    1
    2
    3
    4
    5
    6
    7
    8
    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加密函数

    1
    2
    3
    4
    5
    6
    7
    8
    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);



  • 相关阅读:
    实验三
    第六七章读后感
    0415评论
    0414-复利计算
    实验8 201306114104彭得源
    实验7 201306114104彭得源
    实验6 201306114104彭得源
    android实验五201306114104彭得源
    android实验四201306114104彭得源
    实验五 04彭得源
  • 原文地址:https://www.cnblogs.com/shanshanliu/p/6247761.html
Copyright © 2011-2022 走看看