How to call Oracle MD5 hash function?(如何调用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.
这篇关于如何调用Oracle MD5 哈希函数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何调用Oracle MD5 哈希函数?
基础教程推荐
- 使用 VBS 和注册表来确定安装了哪个版本和 32 位 2021-01-01
- 从字符串 TSQL 中获取数字 2021-01-01
- 带有WHERE子句的LAG()函数 2022-01-01
- while 在触发器内循环以遍历 sql 中表的所有列 2022-01-01
- ORA-01830:日期格式图片在转换整个输入字符串之前结束/选择日期查询的总和 2021-01-01
- CHECKSUM 和 CHECKSUM_AGG:算法是什么? 2021-01-01
- 如何在 CakePHP 3 中实现 INSERT ON DUPLICATE KEY UPDATE aka upsert? 2021-01-01
- 带更新的 sqlite CTE 2022-01-01
- MySQL 5.7参照时间戳生成日期列 2022-01-01
- MySQL根据从其他列分组的值,对两列之间的值进行求和 2022-01-01
