PL / SQL中是否有MD5 Sum函数

时间:2012-01-11 21:50:31

标签: oracle md5 md5sum

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

select name, md5_sum( name ) from person;

4 个答案:

答案 0 :(得分: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.

答案 1 :(得分:9)

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

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

MD5
--------------------------------
456E4D024B4BB704169E21DEB895B0E2

答案 2 :(得分:8)

this Tahiti Link。在 MD5程序和函数下,它说这些子程序生成MD5数据哈希值。 MD5算法通过从给定数据生成128位加密消息摘要值来确保数据完整性。

另请注意,DBMS_OBFUSCATION_TOOLKIT已弃用,可以/应该替换为DBMS_CRYPTO,请参阅this Tahiti Link

答案 3 :(得分:-4)

不要认为它开箱即用。你需要定义自己的。