文档

Dataphin管道任务中对上游数据解密后进行同步,报错“解密数据异常, 请检查配置!java.lang.Exception: AES decrypt error”

更新时间:
一键部署

问题描述

Dataphin输入组件中来源表的数据在上游通过UDF函数进行了加密,管道任务通过解密组件对数据进行解密之后再同步到目标表。管道任务运行报错“解密数据异常, 请检查配置!java.lang.Exception: AES decrypt error”。完整的异常如下:

2023-01-12 07:38:00.909 [DlinkTrans - 解密_1] ERROR DlinkTaskPluginCollector - 
com.alibaba.dt.pipeline.plugin.center.exception.DataXException: Code:[Encryption-00], Description:[您配置的值不合法.].  - 解密数据异常, 请检查配置!java.lang.Exception: AES decrypt error
 at com.alibaba.dt.pipeline.plugin.center.exception.DataXException.asDataXException(DataXException.java:40) ~[plugin.center.base-v2.9.5.3-2.RELEASE.jar:na]
 at com.alibaba.datax.plugin.trans.decryption.DecryptionTrans.evaluate(DecryptionTrans.java:175) ~[na:na]
 at com.alibaba.dt.dlink.core.trans.adaptor.TransStepAdaptor.processRow(TransStepAdaptor.java:159) ~[dlink-engine-0.0.1-SNAPSHOT.jar:na]
 at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62) [kettle-engine-8.0.0.0-28.jar:8.0.0.0-28]
 at java.lang.Thread.run(Thread.java:882) [na:1.8.0_152]

客户反馈的解密组件配置刚开始如下截图:

问题原因

上游加密算法AES的相关信息与解密时算法的相关信息不一致导致。

上游通过AES加密时“填充”信息为“NoPadding”。管道任务中解密组件不开启“高级配置”时,“填充”信息默认是“PKCS5Padding”,通过完整的日志也可以看到解密时“填充”信息的具体值:

解决方案

按照下图修改管道任务的解密组件,打开“高级配置”并配置“解密模式”为“ECB”,填充信息为“NoPadding”:

更多信息

加密算法说明

配置解密转换组件

适用于

  • Dataphin3.6及其之后版本
  • 本页导读
文档反馈