当前位置:网站首页>Oracle使用dbms_crypto实现MD5值计算
Oracle使用dbms_crypto实现MD5值计算
2022-04-21 06:26:00 【山水牧羊】
背景
工作中,需要对数据库中的lob类型字段进行MD5值计算,从而判断lob内容是否唯一。实现方式有多种,如开发程序实现、数据库实现。这里采用Oracle的DBMS_CRYPTO包实现。
DBMS_CRYPTO简介
DBMS_CRYPTO包含基本的加密函数和过程。要正确且安全地使用此包,需要具备一般级别的安全专业知识。
DBMS_CRYPTO包支持对常见Oracle数据类型进行加密和解密,包括RAW和大对象(lob),比如图像和声音。具体来说,它支持blob和clob。此外,它还提供了跨不同数据库字符集加密数据的全球化支持。
支持密码算法如下:
-
Data Encryption Standard (DES), Triple DES (3DES, 2-key and 3-key)
-
Advanced Encryption Standard (AES)
-
MD5, MD4, SHA-1, and SHA-2 cryptographic hashes
-
MD5, SHA-1, and SHA-2 Message Authentication Code (MAC)
过程
--赋权
grant execute on DBMS_CRYPTO to USERNAME;
--确认是否具有该权限
SELECT * FROM user_tab_privs WHERE table_name = 'DBMS_CRYPTO';
--生成MD5
select lower(rawtohex(dbms_crypto.hash(utl_raw.cast_to_raw('张三'),2 /*dbms_crypto.HASH_MD5*/))) from dual;

参考
https://docs.oracle.com/database/121/ARPLS/d_crypto.htm#ARPLS65672
版权声明
本文为[山水牧羊]所创,转载请带上原文链接,感谢
https://blog.csdn.net/yeqiyugood/article/details/117524946
边栏推荐
猜你喜欢

CF1427C The Hard Work of Paparazzi题解

基于领域的方法-评分预测

Could not initialize cudnn ,please check cudnn installation.

LEFT JOIN关联表中ON,WHERE后面跟条件的区别

2022牛客寒假补题记录 2

MySQL Workbench cannot use clear text authentication over non-ssl connections 问题解决

The jupyter notebook of win10 uses pyspark 2 3.2 error reporting problems solved

HLOJ 1936 铺满方格

Simultaneous access of computer intranet and extranet - solution

图形学基础|基于LTC的面光源渲染
随机推荐
MMIO 与 PMIO 技术
2020杭电多校赛第一场1006 Finding a MEX(hdu6756)
C语言版:双向链表的建立以及基本操作
The jupyter notebook of win10 uses pyspark 2 3.2 error reporting problems solved
systemd如何使用/etc/init.d脚本
How to implement a thread pool isolation?
力扣-300.最长递增子序列
【LeetCode 290】单词规律
Oracle 快速速复制表的方法
C语言版:二叉树的遍历方式和逆序
C语言版:循环队列的建立和基本操作
对个人与环境的几个观点
解决replace遍历循环调用,导致后续的replace替换掉前面replace的数据的问题
WordPress修改上传文件大小限制
Gnu-efi头文件
[SSM integration] 4 Logic code writing and testing
数据的增删查改
为短路运算符布尔表达式添加括号
末日将至(简单计算几何)
「Tarjan」无向图强连通分量