oracle对字段进行MD5加密处理函数

工作需要使用sql对某个字段进行加密处理,创建MD5处理函数如下:

CREATE OR REPLACE FUNCTION MD5( 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;

使用示例:

select md5(123) from dual

《oracle对字段进行MD5加密处理函数》 select md5(123) from dual

但是跑数中途遇到如下报错:

《oracle对字段进行MD5加密处理函数》 ORA-28231

检查发现,当md5函数输入参数为空时,导致报错,修改函数如下,解决:

CREATE OR REPLACE FUNCTION MD5( passwd IN VARCHAR2) RETURN VARCHAR2

IS

    retval varchar2(32);

BEGIN

    retval := (case when passwd is null then null else utl_raw.cast_to_raw(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_STRING => passwd)) end);

    RETURN retval;

END;

    原文作者:HI_王图思睿
    原文地址: https://www.jianshu.com/p/ed1832ed2d3f
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞