Rookie690 2022-01-14 16:33 采纳率: 0%
浏览 24

Oracle如何实现字段加密后长度小于或等于原始数据长度?

请教各位一下,Oracle想给部分字段脱敏,但由于项目原因,只能从db的函数出发进行脱敏。

了解了下凯撒加密和维吉尼亚加密,但库中数据涉及到了纯数字、字符和汉字。

请问大家哪些算法能够使加密后使长度小于或等于原始数据长度,并支持解密的?

  • 写回答

1条回答 默认 最新

  • DarkAthena ORACLE应用及数据库设计方案咨询师 2022-01-14 20:41
    关注

    你原始数据长度为多少?如果原始数据很长的话,可以使用utl_compress压缩一次,然后用DBMS_CRYPTO加密,再转base64。
    如果原始数据太短,这个方式就会导致加密后的数据变得更长了。
    你问题中说涉及到纯数字、字符和汉字,这个并不是问题,因为汉字可以转unicode码变成符号和字母,解密的时候再转回去就是了。而且如果你把整个内容当成一个二进制数据的话,也无所谓里面的内容到底是字母还是汉字了。
    原始数据短且又要求加密后的长度要变小,还有一点,汉字加密后得存raw或者blob了,不能再存varchar2或clob了

    评论

报告相同问题?

问题事件

  • 创建了问题 1月14日

悬赏问题

  • ¥20 指导如何跑通以下两个Github代码
  • ¥15 大家知道这个后备文件怎么删吗,为啥这些文件我只看到一份,没有后备呀
  • ¥15 C++为什么这个代码没报错运行不出来啊
  • ¥15 一道ban了很多东西的pyjail题
  • ¥15 关于#r语言#的问题:如何将生成的四幅图排在一起,且对变量的赋值进行更改,让组合的图漂亮、美观@(相关搜索:森林图)
  • ¥15 C++识别堆叠物体异常
  • ¥15 微软硬件驱动认证账号申请
  • ¥15 GPT写作提示指令词
  • ¥20 根据动态演化博弈支付矩阵完成复制动态方程求解和演化相图分析等
  • ¥15 华为超融合部署环境下RedHat虚拟机分区扩容问题