名站网址导航为大家提供关于数据库教程相关的教程网站知识。
MD5是咱们经常用的的一种加密相关方式,在各个方面都有用到这个加密相关方式,今天咱们来探讨下在Oracle中如何使用MD5加密Oracle 系统变量函数用法指南
Oracle函数多种多样,系统变量函数就是其中之一,介绍三种最常见的系统变量函数。,Oracle系统变量函数:,1)SYSDATE,该函数返回当前的日期和时间。返回的是Oracle站点服务器的当前日期和时间。,select sysdate from dual; insert into purchase values (‘Small Widget','Sh',sysdate, 10); insert into,查看最近30天的所有销售记录,使用如下开始执行命令:,select * from purchase where purchase_date between (sysdate-30) and sysdate;,2)USER,查看用户名。,select user from dual;,3)USERENV 查看用户环境的各种资料。,select userenv(‘TERMINAL') FROM dual;,以上Oracle系统变量函数的介绍。
一、技术点
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;
关于数据库教程相关的教程网站知识今天我们就说到这里了,希望可以帮到大家。