oracle 的md5處理

由於oracle本身具有md5加密功能,即在 DBMS_OBFUSCATION_TOOLKIT.MD5 之中。

因此對於使用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;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章