Oracle 创建 md5 加密函数

2021/11/21 2:09:57

本文主要是介绍Oracle 创建 md5 加密函数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

使用 Oracle 的 utl_raw、DBMS_OBFUSCATION_TOOLKIT 可以获取 md5 加密字符串:

select utl_raw.cast_to_raw(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_STRING => '123456')) from dual;
select lower(utl_raw.cast_to_raw(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_STRING => '123456'))) from dual;

E10ADC3949BA59ABBE56E057F20F883E
e10adc3949ba59abbe56e057f20f883e

默认结果是大写的,想要得到小写的结果,需再用 lower()函数转换一下。

可以据此创建一个简单的 md5 函数,方便使用:

CREATE OR REPLACE FUNCTION fun_md5(src IN VARCHAR2)RETURN VARCHAR2
IS
    retVal varchar2(32);
BEGIN
    retVal := (case when src is null then null else utl_raw.cast_to_raw(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_STRING => src)) end);
    RETURN retVal;
END;


使用:
select fun_md5('123456') from dual;
select fun_md5('') from dual;
select fun_md5(null) from dual;

输出:
E10ADC3949BA59ABBE56E057F20F883E
后两个输出为空

【注意】:DBMS_OBFUSCATION_TOOLKIT.MD5 不接受空值的输入,所以需要处理空字符串的情况。



这篇关于Oracle 创建 md5 加密函数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程