内容纲要
概要描述
6.x以下版本的inceptor中没有自带加密函数和解密函数,如果TDH版本低于6.0,却要使用加密解密函数,可以通过如下UDF的方式实现aes的加密和解密
说明:加密函数解密函数的使用方法参考星环官网6.0版本的 "inceptor使用手册" 中 "加密解密" 章节
详细说明
上传jar包到hdfs上
aes加密解密UDF使用jar包:AESudf包
- 在hdfs创建单独的路径
hdfs dfs -mkdir /udf
- 将本地jar上传到新建的udf路径下
hdfs dfs -put AESudf.jar /udf
使用beeline创建永久函数
- 通过beeline登录到inceptor,本次示例是以LDAP方式登录
beeline -u "jdbc:hive2://172.22.17.1:10000/default" -n hive -p 123456
- 创建永久加密udf函数
drop permanent function aes_encryptfunc;
create permanent function aes_encryptfunc as 'aes.GenericUDFAesEncrypt' using jar 'hdfs:///udf/AESudf.jar';
- 创建永久解密udf函数
drop permanent function aes_decryptfunc;
create permanent function aes_decryptfunc as 'aes.GenericUDFAesDecrypt' using jar 'hdfs:///udf/AESudf.jar';
测试验证
- beeline中验证加密函数
SELECT base64(aes_encryptfunc('ABC', '1234567890123456')) AS result FROM system.dual;
- beeline中验证解密函数
SELECT aes_decryptfunc(unbase64('y6Ss+zCYObpCbgfWfyNWTw=='), '1234567890123456') AS result FROM system.dual;