如何调用Oracle MD5 哈希函数?
我有以下代码.我使用的是 Oracle 11g.
I have below code. I am using 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中执行这段代码吗?
How can i call this code? Can i directly execute this code in sqldeveloper?
推荐答案
在 Oracle 12c 中你可以使用函数 STANDARD_HASH.它不需要任何额外的权限.
In Oracle 12c you can use the function STANDARD_HASH. It does not require any additional privileges.
select standard_hash('foo', 'MD5') from dual;
<小时>
不推荐使用 dbms_obfuscation_toolkit(请参阅注释 此处一>).您可以直接使用 DBMS_CRYPTO:
The dbms_obfuscation_toolkit is deprecated (see Note here). You can use DBMS_CRYPTO directly:
select rawtohex(
DBMS_CRYPTO.Hash (
UTL_I18N.STRING_TO_RAW ('foo', 'AL32UTF8'),
2)
) from dual;
输出:
ACBD18DB4CC2F85CEDEF654FCCC4A4D8
如果需要,添加一个较低的函数调用.详细了解 DBMS_CRYPTO.
Add a lower function call if needed. More on DBMS_CRYPTO.
相关文章