• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Oracle中的MD5加密详解

    一、技术点 

    1、 DBMS_OBFUSCATION_TOOLKIT.MD5
    DBMS_OBFUSCATION_TOOLKIT.MD5是MD5编码的数据包函数,但偶在使用select DBMS_OBFUSCATION_TOOLKIT.MD5(input_string =>'abc') a from Dual时,却有错误提示,看来该函数只能直接在程序包中调用,不能直接应用于SELECT语句。
      
    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 => '111'));
    dbms_output.put_line(v2); end;

    注意:可以在存储过程中直接调用,如果要嵌套调用md5时,记得每次调用后都用Utl_Raw.Cast_To_Raw进行转换,否则最后出来的结果是错误的。

    2、构造函数后,再调用

    复制代码 代码如下:

    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;

    调用md5函数示例:

    复制代码 代码如下:

    select md5(1) from dual

    另附:Oracle中MD5函数语句

    复制代码 代码如下:

    --Oracle中MD5函数语句
    create or replace FUNCTION "MD5HASH" (str IN VARCHAR2)  
        RETURN VARCHAR2  
        IS v_checksum VARCHAR2(32);  
        
        BEGIN 
            v_checksum := LOWER( RAWTOHEX( UTL_RAW.CAST_TO_RAW( sys.dbms_obfuscation_toolkit.md5(input_string => str) ) ) );  
            RETURN v_checksum;  
            EXCEPTION  
                WHEN NO_DATA_FOUND THEN 
                NULL;  
            WHEN OTHERS THEN 
                -- Consider logging the error and then re-raise               RAISE;  
        END md5hash;

    您可能感兴趣的文章:
    • Java、JavaScript、Oracle、MySQL中实现的MD5加密算法分享
    • Oracle定义DES加密解密及MD5加密函数示例
    • Oracle 存储过程加密方法
    • oracle 存储过程加密的方法
    • oracle下加密存储过程的方法
    • Oracle数据加密方法分析
    上一篇:Oracle 11g中密码过期问题详解
    下一篇:Oracle 跨库 查询 复制表数据 分布式查询介绍
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Oracle中的MD5加密详解 Oracle,中的,MD5,加密,详解,