网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的范文:

 

标题 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;
随便看

 

在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/21 23:19:31