日期:2014-05-20  浏览次数:20979 次

oracle加密函数
现在要对数据库中的密码进行加密,之前用的是笨方法,本来用户就不多,所以就直接改数据库了,但现在,生成库上的密码也要加密,有没有oracle函数调用就可以加密的呢?或者别的方法,求高手指教!谢谢了!

------解决方案--------------------
Oracle MD5 加密函数

--源代码:

CREATE OR REPLACE FUNCTION fn_md5 (input_string IN 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_OBFUSCATION_TOOLKIT.md5 (input => raw_input,?
checksum => decrypted_raw?
);?
RETURN LOWER (RAWTOHEX (decrypted_raw));?
END;?

?

--相同的 pl/sql版

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?
sys.dbms_obfuscation_toolkit.MD5(input => raw_input, checksum => decrypted_raw);?
return lower(rawtohex(decrypted_raw));?
END;