PL/SQL中是否有MD5 Sum函数

Bob*_*har 9 oracle md5 md5sum

在Oracle SQL中,是否有可用的MD5功能?我想做点什么......

select name, md5_sum( name ) from person;
Run Code Online (Sandbox Code Playgroud)

Edd*_*wad 12

您可能想要检查DBMS_OBFUSCATION_TOOLKIT.MD5过程.

这是一个例子:

     SQL> column md5_val FORMAT A40
     SQL> SELECT DBMS_OBFUSCATION_TOOLKIT.md5 (input => UTL_RAW.cast_to_raw('Eddie')) md5_val
       2    FROM DUAL;
     MD5_VAL
     ----------------------------------------
     E5F6C83E6E97C74FC9E9760FC8972AED

     1 row selected.
Run Code Online (Sandbox Code Playgroud)


Jon*_*ler 11

在12c中,您可以使用STANDARD_HASH.它默认可用,不需要任何PL/SQL对象或硬编码值,也不会弃用.

SQL> select standard_hash('Finally, an easy way to do this.', 'MD5') md5
  2  from dual;

MD5
--------------------------------
456E4D024B4BB704169E21DEB895B0E2
Run Code Online (Sandbox Code Playgroud)


Ren*_*ger 8

看到这个大溪地链接.在MD5程序和功能下,它说这些子程序生成MD5数据哈希.MD5算法通过从给定数据生成128位加密消息摘要值来确保数据完整性.

另请注意,DBMS_OBFUSCATION_TOOLKIT已弃用,可以/应该替换DBMS_CRYPTO,请参阅此Tahiti链接