Oracle中的MD5加密詳解

2022-09-24 10:39:08 字數 1524 閱讀 5375

一、技術點 

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 := u => '111'));

dbms_output.put_line(v2); end;

注意:可以在儲存過程中直接呼叫,如果要巢狀呼叫md5時,記得每次呼叫後都用utl_raw.cast_to_raw進行轉換,否則最後出來的結果是錯誤的。

2、建構函式後jrycl,再呼叫

複製** **如下:

create or replace function md5(

passwd in varchar2) return varchar2 is

retval varchar2(32); begin

retval := utl_raw.castjrycl_to_raw(dbms_obfuscation_toolkit.md5(input_string => passwd)); return retval; end;

呼叫md5函式示例:

複製** **如下:

select md5(1) from dual

另附:oracle中md5函式語句

複製** **如下:

--oracle中md5函式語句

create or repla function "md5hash" (str in varchar2)  

return varchar2  

is v_checksum varchar2(32);  

begin 

v_checksum := lower( rawtohex( utl_raw.cast_to_raw( sys.dbms_obfuscation_toolkit.md5(input_string => str) ) ) );  

return v_checksum;  

exception  

when no_data_found then 

null;  

when others then 

jrycl      -- consider logging the error and then re-raise               raise;  

end md5hash;

本文標題: oracle中的md5加密詳解

本文位址:

Oracle中的MD5加密

一 技術點1 dbms obfuscation toolkit.md5 dbms obfuscation toolkit.md5 是md5 編碼的資料報函式,但偶在使用 select dbms obfuscation toolkit.md5 input string abc a from dual ...

MD5加密詳解

md5全稱 message digest algorithm 5 翻譯過來就是 資訊 摘要演算法5 比如我的銀行密碼是 12345 1.得到的 md5是 827ccb0eea8a706c4c34a16891f84e7b 2.乙個人擷取到這個密文 那麼通過撞庫肯定容易撞出 12345.3.我們要做的就...

Oracle中使用MD5加密

dbms obfuscation toolkit.md5返回的字串,是raw型別,要正確顯示,需要經過utl raw.cast to raw轉換 declare v2 varchar2 32 begin v2 utl raw.cast to raw sys.dbms obfuscation tool...