最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Oracle中的MD5加密

来源:动视网 责编:小采 时间:2020-11-09 15:10:27
文档

Oracle中的MD5加密

Oracle中的MD5加密:因为要用到MD5加密,所以在网上搜了一下相关资料,并进行仔细研究。其核心就是MD5编码的数据包函数:DBMS_OBFUSCATION_TOOLKIT.M 因为要用到MD5加密,所以在网上搜了一下相关资料,并进行仔细研究。其核心就是MD5编码的数据包函数:DBMS_OBFUSC
推荐度:
导读Oracle中的MD5加密:因为要用到MD5加密,所以在网上搜了一下相关资料,并进行仔细研究。其核心就是MD5编码的数据包函数:DBMS_OBFUSCATION_TOOLKIT.M 因为要用到MD5加密,所以在网上搜了一下相关资料,并进行仔细研究。其核心就是MD5编码的数据包函数:DBMS_OBFUSC


因为要用到MD5加密,所以在网上搜了一下相关资料,并进行仔细研究。其核心就是MD5编码的数据包函数:DBMS_OBFUSCATION_TOOLKIT.M

因为要用到MD5加密,所以在网上搜了一下相关资料,并进行仔细研究。其核心就是MD5编码的数据包函数:DBMS_OBFUSCATION_TOOLKIT.MD5,这里涉及到RAW类型,其实就是原始的代码值。

MD5加密的结果就是16个byte值,也就是是RAW类型,是显示不出来的,要正确显示,需要经过Utl_Raw.Cast_To_Raw转换,这个函数的作用是将每个字节的值用十六进制字符表示出来。为了说明清楚,举例如下:假定一个字节的二进制值是0100 0001,十六进制表示就是41(这个值实际上就是字母“A”的ASCII代码值,硬要显示,还是可以显示出A来的,但有些非ASCII码的值就显示不出来了,比如1100 0001,十六进制表示就是C1),那么经过Utl_Raw.Cast_To_Raw转换后就变成了字符串“41”。

Utl_Raw.Cast_To_Raw函数也可以转换字符串,也就是将字符串的代码值(应该是Oracle字符集内码)以十六进制表示出来,例如:

utl_raw.cast_to_raw('iamlaosong')的结果是:69616D6C616F736F6E67

utl_raw.cast_to_raw('我是老宋')的结果是:CED2CAC7C0CFCBCE

MD5包函数的使用方法如下:

1、直接调用

declare

v2 varchar2(32);

begin

v2 := Utl_Raw.Cast_To_Raw(sys.dbms_obfuscation_toolkit.md5(input_string => '123456'));

dbms_output.put_line(v2);

end;

显示结果:E10ADC3949BA59ABBE56E057F20F883E

这个字符串实际上是16个字节的值用十六进制表示的结果,其中的字符是0-9和A-F,,正因为如此,其中的字母大小写是无关的,都表示同一个值。

再举个例子,字符串:iamlaosong,加密后显示的结果:7E0FB497D8C4515157DDEAFC2E511290,很显然,也是16个字节的十六进制表示。

至于加密结果的比较,还是转换成字符串后较为直观,比较起来也方便一些。

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加密:因为要用到MD5加密,所以在网上搜了一下相关资料,并进行仔细研究。其核心就是MD5编码的数据包函数:DBMS_OBFUSCATION_TOOLKIT.M 因为要用到MD5加密,所以在网上搜了一下相关资料,并进行仔细研究。其核心就是MD5编码的数据包函数:DBMS_OBFUSC
推荐度:
标签: 数据库 oracle md5
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top