Oracle 数据库中的内容加密与解密 dbms_crypto

本文介绍了在Oracle数据库中利用dbms_crypto包进行内容加密和解密的操作,适用于需要对敏感数据进行脱敏处理的场景。通过管理员授权后,可以使用该包提供的双向转换算法,实现原文与密文之间的安全转换。文中还给出了生成密钥、加密和解密的代码示例。
摘要由CSDN通过智能技术生成

Oracle 数据库中的内容加密与解密

说起来Oracle中有很多涉及加密解密的东西,今天说的这个是dbms_crypto。

有没有遇到过这样的应用场景,需要将一些敏感数据字段脱敏之后发送给下游。之后下游处理完其他数据之后会携带这个脱敏字段再发回给你,你再用这些敏感信息还原出原始的值匹配更新原来的数据。最近我就遇到了。

找了一下,Oracle还真有类似的包:dbms_crypto,使用这个包需要管理员登录SYS给你授权才行。

其实脱敏本身很简单,hash一下等等乱七八糟的输出一下就可以了,不过脱敏后的数据要想再恢复就要有些技巧了。dbms_crypto包里介绍了一些可以双向转换的算法,具体可以根据业务需要以及加密安全等级来权衡加解密的方式。

无论什么算法加密,基本的东西就是 原文+密钥+算法=密文, 密文+密钥+算法=原文。加解密都是一个人的话密钥别弄丢了基本也就安全了。加解密不是同一个人并且懂算法朋友也许会有不同的选择。不过这个基本符合我的需求了。

下面是代码包:

  1. get_public_key 用来生成加密的32位密钥
  2. encrypt_data 用来生成加密的密文,需要传入密钥以及原文文本
  3. decrypt_data 用来生成解密的原文,需要传入密钥以及加密密文
CREATE OR RE
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值