使用 Oracle 的 utl_raw、DBMS_OBFUSCATION_TOOLKIT 可以获取 md5 加密字符串:

select utl_raw.cast_to_raw(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_STRING => '123456')) from dual;
select lower(utl_raw.cast_to_raw(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_STRING => '123456'))) from dual; E10ADC3949BA59ABBE56E057F20F883E
e10adc3949ba59abbe56e057f20f883e

默认结果是大写的,想要得到小写的结果,需再用 lower()函数转换一下。

可以据此创建一个简单的 md5 函数,方便使用:

CREATE OR REPLACE FUNCTION fun_md5(src IN VARCHAR2)RETURN VARCHAR2
IS
retVal varchar2(32);
BEGIN
retVal := (case when src is null then null else utl_raw.cast_to_raw(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_STRING => src)) end);
RETURN retVal;
END; 使用:
select fun_md5('123456') from dual;
select fun_md5('') from dual;
select fun_md5(null) from dual; 输出:
E10ADC3949BA59ABBE56E057F20F883E
后两个输出为空

【注意】:DBMS_OBFUSCATION_TOOLKIT.MD5 不接受空值的输入,所以需要处理空字符串的情况。

最新文章

  1. [dpdk] 熟悉SDK与初步使用 (三)(IP Fragmentation源码分析)
  2. 12款高质量的响应式 HTML5/CSS3 网站模板
  3. python基础教程1
  4. [HDOJ3308]LCIS(线段树,区间合并)
  5. windows下安装zabbix_agents_2.2.0
  6. Jquery异步请求数据实例
  7. Nginx 因 Selinux 服务导致无法远程訪问
  8. 在 Java 项目中解压7Zip特殊压缩算法文件
  9. C#获取设备的IP和Mac类
  10. [HNOI2011]任务调度
  11. 野路子码农系列(3)plotly可视化的简单套路
  12. vue中$refs、$slot、$nextTick相关的语法
  13. Shell脚本1
  14. Qt控制台例子
  15. iot-hub运行在虚拟上
  16. Android之单元测试及数据库操作
  17. oracle监听1067错误的处理
  18. Moonraker:1靶机入侵
  19. 错误:SSL peer shut down incorrectly
  20. 02 - Unit010:关联映射

热门文章

  1. GitHub 开源的小工具「GitHub 热点速览 v.21.45」
  2. Linux&C网络编程————“聊天室”
  3. Jmeter 运行结果的csv文件生成报告
  4. Spring @Component生成bean名称的规则(当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致
  5. Apache Shiro 反序列化漏洞分析
  6. @Autowired注解注入失败,提示could not autowire的解决办法
  7. [后端及服务器][WSL2(Ubuntu)+Docker]从零开始在WSL中安装Docker
  8. Part 61 to 63 Talking about partial class and partial method in C#
  9. Java学习(十五)
  10. 第三方登陆-qq互联