当前公司数据平台使用的处理架构,由Hive进行大数据处理,然后将应用数据同步到PostgreSQL中做各类外围应用。由于部分数据涉及敏感信息,必须在Hive进行加密,然后在PG使用时再进行单个数据解密,并监控应用的数据调用事情。因此需要实现Hive加密到PostgreSQL解密还原的过程。在不编写UDF的情况下,有以下方法。
HIVE加密
select
base64(aes_encrypt(敏感用户名, 'Asxdc67890gt5rf3')) 加密后用户名
from table_name
关键点解析
密码长度必须是128、192、256个字节
没有各种参数来控制加密过程
PG解密
select
convert_from(decrypt(decode(加密后用户名,'base64'),'Asxdc67890gt5rf3','aes-ecb/pad:pkcs'),'utf8') 解密用户名
from table_name
关键参数解析
algorithm是下列之一:
bf — Blowfish
aes — AES (Rijndael-128, -192 或 -256)
mode是下列之一:
cbc — 下一个块依赖前一个(默认)
ecb — 每一个块被独立加密(只用于测试)
padding是下列之一:
pkcs — 数据可以是任意长度(默认)
none — 数据必须是密码块尺寸的倍数
参考资料:
Hive函数aes_encrypt、 aes_decrypt详细说明页面
[HIVE-11593] Add aes_encrypt and aes_decrypt UDFs - ASF JIRA
PostgreSQL加解密模块pgcrypto详细说明页面文章来源:https://www.toymoban.com/news/detail-651321.html
http://postgres.cn/docs/14/pgcrypto.html文章来源地址https://www.toymoban.com/news/detail-651321.html
到了这里,关于Hive加密,PostgreSQL解密还原的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!