Oracle中的MD5加密

一、技术点

1、 DBMS_OBFUSCATION_TOOLKIT.MD5

DBMS_OBFUSCATION_TOOLKIT.MD5MD5编码的数据包函数,

可以直接在sql工作去调用,

select utl_raw.cast_to_raw(DBMS_OBFUSCATION_TOOLKIT.MD5(input_string =>'1111')) from Dual;

结果需要转换一下

2、Utl_Raw.Cast_To_Raw

DBMS_OBFUSCATION_TOOLKIT.MD5返回的字串,是RAW类型,要正确显示,需要经过Utl_Raw.Cast_To_Raw转换

二、应用

1、函数的运用.

create or replace FUNCTION MD5(
passwd IN VARCHAR2)
RETURN VARCHAR2
IS
val varchar2(32);
begin
  val := utl_raw.cast_to_raw(dbms_obfuscation_toolkit.md5(input_string => passwd)) ;
  RETURN val;
END;

调用md5函数示例:

select lower(md5('jack{1111}')) from dual;

其中jack是盐值,1111是密码,意思是在jack的密码1111加密,不懂盐值得可以去百度一下概念。

2.数据库存储

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进行转换,否则最后出来的结果是错误的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值