sql – 如何调用Oracle MD5哈希函数?

我有以下代码.我正在使用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'

我该如何调用代码?我可以在sqldeveloper中直接执行此代码吗?

解决方法

在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.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...