use*_*806 9 sql oracle plsql oracle11g
我有以下代码.我正在使用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'
Run Code Online (Sandbox Code Playgroud)
我怎么称这个代码?我可以直接在sqldeveloper中执行此代码吗?
tbo*_*one 28
在Oracle 12c中,您可以使用STANDARD_HASH函数.它不需要任何其他权限.
select standard_hash('foo', 'MD5') from dual;
Run Code Online (Sandbox Code Playgroud)
不推荐使用dbms_obfuscation_toolkit(请参阅此处的注释).您可以直接使用DBMS_CRYPTO:
select rawtohex(
DBMS_CRYPTO.Hash (
UTL_I18N.STRING_TO_RAW ('foo', 'AL32UTF8'),
2)
) from dual;
Run Code Online (Sandbox Code Playgroud)
输出:
ACBD18DB4CC2F85CEDEF654FCCC4A4D8
Run Code Online (Sandbox Code Playgroud)
如果需要,添加较低的函数调用.有关DBMS_CRYPTO的更多信息.
小智 5
我会做:
select DBMS_CRYPTO.HASH(rawtohex('foo') ,2) from dual;
Run Code Online (Sandbox Code Playgroud)
输出:
DBMS_CRYPTO.HASH(RAWTOHEX('FOO'),2)
--------------------------------------------------------------------------------
ACBD18DB4CC2F85CEDEF654FCCC4A4D8
Run Code Online (Sandbox Code Playgroud)