Oracle中使用MD5加密

本文介绍了如何在Oracle数据库中使用DBMS_OBFUSCATION_TOOLKIT.MD5函数进行字符串的MD5加密,并展示了如何通过Utl_Raw.Cast_To_Raw函数正确显示RAW类型的MD5值。此外,还提供了直接调用和构造函数后调用两种应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查看原文:http://www.ibloger.net/article/250.html


一、技术点

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







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值