请教各位一下,Oracle想给部分字段脱敏,但由于项目原因,只能从db的函数出发进行脱敏。
了解了下凯撒加密和维吉尼亚加密,但库中数据涉及到了纯数字、字符和汉字。
请问大家哪些算法能够使加密后使长度小于或等于原始数据长度,并支持解密的?
收起
当前问题酬金
¥ 0 (可追加 ¥500)
支付方式
扫码支付
支付金额 15 元
提供问题酬金的用户不参与问题酬金结算和分配
支付即为同意 《付费问题酬金结算规则》
你原始数据长度为多少?如果原始数据很长的话,可以使用utl_compress压缩一次,然后用DBMS_CRYPTO加密,再转base64。如果原始数据太短,这个方式就会导致加密后的数据变得更长了。你问题中说涉及到纯数字、字符和汉字,这个并不是问题,因为汉字可以转unicode码变成符号和字母,解密的时候再转回去就是了。而且如果你把整个内容当成一个二进制数据的话,也无所谓里面的内容到底是字母还是汉字了。原始数据短且又要求加密后的长度要变小,还有一点,汉字加密后得存raw或者blob了,不能再存varchar2或clob了
报告相同问题?