我有以下代码.我正在使用Oracle 11g.
SELECT DBMS_OBFUSCATION_TOOLKIT.md5 (input => UTL_RAW.cast_to_raw( FIRST_NAME ||LAST_NAME )) md5_key,FIRST_NAME,LAST_NAME FROM C_NAME_TAB WHERE PKEY='1234'
解决方法
在Oracle 12c中,您可以使用功能
STANDARD_HASH.它不需要任何其他权限.
select standard_hash('foo','MD5') from dual;
不推荐使用dbms_obfuscation_toolkit(请参阅注释here).您可以直接使用DBMS_CRYPTO:
select rawtohex( DBMS_CRYPTO.Hash ( UTL_I18N.STRING_TO_RAW ('foo','AL32UTF8'),2) ) from dual;
输出:
ACBD18DB4CC2F85CEDEF654FCCC4A4D8
如果需要,添加较低的函数调用.更多关于DBMS_CRYPTO.