Oracle 中使用MD5加密

一、技术点

1、DBMS_OBFUSCATION_TOOLKIT.MD5

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 => 'rapido'));  
  dbms_output.put_line(v2);  
end;

result:D70BC17A8A987F0CF42917930BF7F7F1

注意:可以在存储过程中直接调用,如果要嵌套调用md5时,记得每次调用后都用Utl_Raw.Cast_To_Raw进行转换,否则最后出来的结果是错误的。

2、构造函数后,再调用

create or replace function md5_digest(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;  
  
---- Return an MD5 hash of the input string. --------   
  
select md5_digest('rapido') pwd from dual


赞(52) 打赏
未经允许不得转载:优客志 » 数据库
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏