`
xp9802
  • 浏览: 1182925 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Oracle中的加密和解密

阅读更多

1,MD5:调用Oracle工具包

 

CREATE OR REPLACE function md5(input_string VARCHAR2) return varchar2

IS

raw_input RAW(128) := UTL_RAW.CAST_TO_RAW(input_string);

decrypted_raw RAW(2048);

error_in_input_buffer_length EXCEPTION;

BEGIN

--dbms_output.put_line(sysdate || '>加密前的数据:' || input_string);

--dbms_output.put_line(sysdate || '>加密:' || raw_input);

sys.dbms_obfuscation_toolkit.MD5(input => raw_input,checksum => decrypted_raw);

--dbms_output.put_line(sysdate || '> 加密后的数据:' || rawtohex(decrypted_raw));

return lower(rawtohex(decrypted_raw));

END;

 

2, 加密和解密(调用oracle加密算法包)

create or replace  function encrypt (pass varchar2) return varchar2

  as

    c_encrypt_key varchar2(8) := '12345678';

    v_encrypted_val varchar2(38);

    v_data          varchar2(38);

  begin

     v_data := RPAD(pass,(TRUNC(LENGTH(pass)/8)+1)*8,CHR(0));

    

     DBMS_OBFUSCATION_TOOLKIT.DESENCRYPT(

        input_string     => v_data,

        key_string       =>  c_encrypt_key,

        encrypted_string =>  v_encrypted_val);

     return v_encrypted_val;

  end encrypt;

 

 

  create or replace function decrypt(pass varchar2) return varchar2 is

    v_decrypted_val varchar2(38);

  begin

    DBMS_OBFUSCATION_TOOLKIT.DESDECRYPT(

         input_string     => pass,

         key_string       => c_encrypt_key,

         decrypted_string => v_decrypted_val);

     return v_decrypted_val;

  end decrypt;

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics