美文网首页
oracle对字段进行MD5加密处理函数

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

作者: HI_王图思睿 | 来源:发表于2018-08-01 10:22 被阅读417次

    工作需要使用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

    select md5(123) from dual

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

    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;

    相关文章

      网友评论

          本文标题:oracle对字段进行MD5加密处理函数

          本文链接:https://www.haomeiwen.com/subject/vqslvftx.html