From 6ed98bf09ae20307ae9d2b792896fa82b5760f09 Mon Sep 17 00:00:00 2001 From: weizhao1 Date: Thu, 23 Mar 2023 16:28:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8A=A0=E5=AF=86key?= =?UTF-8?q?=E5=90=8D=E7=A7=B0=EF=BC=8C=E5=8F=96=E6=B6=88=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/src/main/conf/.secret.properties | 2 +- .../main/java/com/alibaba/datax/core/Engine.java | 2 +- ...yptUtil.java => JobDataBasePwdDecryptUtil.java} | 14 ++++++++++---- .../datax/core/util/container/CoreConstant.java | 4 ++-- 4 files changed, 14 insertions(+), 8 deletions(-) rename core/src/main/java/com/alibaba/datax/core/util/{JobPwdDescryptUtil.java => JobDataBasePwdDecryptUtil.java} (75%) diff --git a/core/src/main/conf/.secret.properties b/core/src/main/conf/.secret.properties index 45b4b127..43e1975b 100755 --- a/core/src/main/conf/.secret.properties +++ b/core/src/main/conf/.secret.properties @@ -6,4 +6,4 @@ current.publicKey= current.privateKey= current.service.username= current.service.password= -dp.public.k= +db.encrypt.key= diff --git a/core/src/main/java/com/alibaba/datax/core/Engine.java b/core/src/main/java/com/alibaba/datax/core/Engine.java index 6e7185a7..6942f484 100755 --- a/core/src/main/java/com/alibaba/datax/core/Engine.java +++ b/core/src/main/java/com/alibaba/datax/core/Engine.java @@ -52,7 +52,7 @@ public class Engine { long instanceId; int taskGroupId = -1; if (isJob) { - JobPwdDescryptUtil.decrypt(allConf); + JobDataBasePwdDecryptUtil.decrypt(allConf); allConf.set(CoreConstant.DATAX_CORE_CONTAINER_JOB_MODE, RUNTIME_MODE); container = new JobContainer(allConf); instanceId = allConf.getLong( diff --git a/core/src/main/java/com/alibaba/datax/core/util/JobPwdDescryptUtil.java b/core/src/main/java/com/alibaba/datax/core/util/JobDataBasePwdDecryptUtil.java similarity index 75% rename from core/src/main/java/com/alibaba/datax/core/util/JobPwdDescryptUtil.java rename to core/src/main/java/com/alibaba/datax/core/util/JobDataBasePwdDecryptUtil.java index e2bdc4ca..fd536ab5 100644 --- a/core/src/main/java/com/alibaba/datax/core/util/JobPwdDescryptUtil.java +++ b/core/src/main/java/com/alibaba/datax/core/util/JobDataBasePwdDecryptUtil.java @@ -3,22 +3,28 @@ package com.alibaba.datax.core.util; import com.alibaba.datax.common.util.Configuration; import com.alibaba.datax.core.util.container.CoreConstant; import org.apache.commons.lang.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; -/**job数据库密码解密 +/** + * 数据库密码解密 + * * @Author weizhao.dong * @Date 2023/3/23 14:37 * @Version 1.0 */ -public class JobPwdDescryptUtil { +public class JobDataBasePwdDecryptUtil { + private static final Logger LOG = LoggerFactory.getLogger(JobDataBasePwdDecryptUtil.class); public static void decrypt(Configuration configuration) { if (configuration.getBool(CoreConstant.DATAX_JOB_SETTING_PASSWD_ENCRYPT, false)) { String readerPwd = configuration.getString(CoreConstant.DATA_JOB_READER_PARAMETER_PASSWORD); String writePwd = configuration.getString(CoreConstant.DATA_JOB_WRITER_PARAMETER_PASSWORD); //加密key - String key = SecretUtil.getSecurityProperties().getProperty(CoreConstant.PASSWD_KEY); + String key = SecretUtil.getSecurityProperties().getProperty(CoreConstant.DB_ENCRYPT_KEY); if (StringUtils.isEmpty(key)) { - key = CoreConstant.PASSWD_KEY_DEFAULT; + LOG.warn("{} is empty,use original password,", CoreConstant.DB_ENCRYPT_KEY); + return; } if (StringUtils.isNotEmpty(readerPwd)) { configuration.set(CoreConstant.DATA_JOB_READER_PARAMETER_PASSWORD, SecretUtil.decrypt3DES(readerPwd, key)); diff --git a/core/src/main/java/com/alibaba/datax/core/util/container/CoreConstant.java b/core/src/main/java/com/alibaba/datax/core/util/container/CoreConstant.java index e81e195c..adf78210 100755 --- a/core/src/main/java/com/alibaba/datax/core/util/container/CoreConstant.java +++ b/core/src/main/java/com/alibaba/datax/core/util/container/CoreConstant.java @@ -157,8 +157,8 @@ public class CoreConstant { public static final String CURRENT_SERVICE_USERNAME = "current.service.username"; public static final String CURRENT_SERVICE_PASSWORD = "current.service.password"; - public static final String PASSWD_KEY="dp.public.k"; - public static final String PASSWD_KEY_DEFAULT="dwz1qaz2wsx"; + + public static final String DB_ENCRYPT_KEY = "db.encrypt.key"; // ----------------------------- 环境变量 ---------------------------------