Oracle中的MD5加密


一、技術點 
1、 DBMS_OBFUSCATION_TOOLKIT.MD5 
DBMS_OBFUSCATION_TOOLKIT.MD5是MD5編碼的數據包函數,但偶在使用select DBMS_OBFUSCATION_TOOLKIT.MD5(input_string =>'abc') a from Dual時,卻有錯誤提示,看來該函數只能直接在程序包中調用,不能直接應用於SELECT語句。 
  
2、Utl_Raw.Cast_To_Raw 
DBMS_OBFUSCATION_TOOLKIT.MD5返回的字串,是RAW類型,要正確顯示,需要經過Utl_Raw.Cast_To_Raw轉換

 

二、應用

1、直接調用

declare
v2 varchar2(32);
begin
v2 := Utl_Raw.Cast_To_Raw(sys.dbms_obfuscation_toolkit.md5(input_string => '111'));
dbms_output.put_line(v2);
end;

注意:可以在存儲過程中直接調用,如果要嵌套調用md5時,記得每次調用后都用Utl_Raw.Cast_To_Raw進行轉換,否則最后出來的結果是錯誤的。

 2、構造函數后,再調用

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;

調用md5函數示例:

select md5(1) from dual

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM