Hive加密,PostgreSQL解密还原

当前公司数据平台使用的处理架构,由Hive进行大数据处理,然后将应用数据同步到PostgreSQL中做各类外围应用。由于部分数据涉及敏感信息,必须在Hive进行加密,然后在PG使用时再进行单个数据解密,并监控应用的数据调用事情。因此需要实现Hive加密到PostgreSQL解密还原的过程。在不编写UDF的情况下,有以下方法。

HIVE加密

sql 复制代码
select 
base64(aes_encrypt(敏感用户名, 'Asxdc67890gt5rf3')) 加密后用户名
from table_name

关键点解析

密码长度必须是128、192、256个字节

没有各种参数来控制加密过程

PG解密

sql 复制代码
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

相关推荐
yumgpkpm14 小时前
Iceberg在Cloudera CDP集群详细操作步骤
大数据·人工智能·hive·zookeeper·spark·开源·cloudera
yumgpkpm16 小时前
Iceberg在Hadoop集群使用步骤(适配AI大模型)
大数据·hadoop·分布式·华为·zookeeper·开源·cloudera
清平乐的技术专栏21 小时前
Hive SQL中COALESCE 函数和NVL()函数、IFNULL函数区别
hive·hadoop·sql
爱吃大芒果21 小时前
Flutter 列表优化:ListView 性能调优与复杂列表实现
开发语言·hive·hadoop·flutter·华为
Yore Yuen21 小时前
Hive内表修改字段类型及注意事项
数据仓库·hive·hadoop
梦里不知身是客1121 小时前
yarn向hive提交队列的方式
数据仓库·hive·hadoop
Direction_Wind1 天前
Iceberg 与 Hive 用法区别
数据仓库·hive·hadoop
本旺1 天前
【Starrocks + Hive 】BitMap + 物化视图 实战记录
大数据·数据仓库·hive
fvafuc1 天前
常用odps(hive)语法
数据仓库·hive·hadoop