9

在 Oracle SQL 中,是否有 MD5 函数或其他东西可供我使用?我想做类似...

select name, md5_sum( name ) from person;
4

4 回答 4

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.
于 2012-01-11T21:58:46.570 回答
12

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

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

MD5
--------------------------------
456E4D024B4BB704169E21DEB895B0E2
于 2013-08-13T04:34:01.713 回答
8

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

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

于 2012-01-11T21:56:52.710 回答
-4

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

于 2012-01-11T21:52:42.480 回答