6.x以下版本inceptor如何使用aes加密解密函数

  其他常见问题
内容纲要

概要描述


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

file

使用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';

file

测试验证

  • beeline中验证加密函数
SELECT base64(aes_encryptfunc('ABC', '1234567890123456')) AS result FROM system.dual;

file

  • beeline中验证解密函数
SELECT aes_decryptfunc(unbase64('y6Ss+zCYObpCbgfWfyNWTw=='), '1234567890123456') AS result FROM system.dual;

file

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。