日期:2014-05-16  浏览次数:20355 次

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