Hive加密,PostgreSQL解密还原

本文讨论了如何在不编写用户定义函数的情况下,使用Hive对敏感数据进行AES加密,然后在PostgreSQL中解密。强调了加密过程中密码长度和关键参数的选择,以及参考了Hive和PostgreSQL的相关文档.

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当前公司数据平台使用的处理架构,由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详细说明页面

http://postgres.cn/docs/14/pgcrypto.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灰哥数据智能

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值