From c2d975e56f3f46bfb7d1028af791a4639463a07d Mon Sep 17 00:00:00 2001 From: Kris <13243687953@163.com> Date: Sat, 24 Jan 2026 20:43:05 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=BB=8E=E5=BA=93?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E6=97=B6=E5=AF=86=E7=A0=81=E8=A7=A3?= =?UTF-8?q?=E5=AF=86=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 问题:从配置文件读取的密码是明文,但代码尝试对它进行解密,导致解密失败 修复: - 将 masterPasswordDecrypted 改为 masterPasswordPlain - 从配置文件读取的密码是明文,不需要解密 - 只有从数据库读取的密码才是加密的,需要解密 --- .../system/service/impl/SysDatasourceConfigServiceImpl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/datai-system/src/main/java/com/datai/system/service/impl/SysDatasourceConfigServiceImpl.java b/datai-system/src/main/java/com/datai/system/service/impl/SysDatasourceConfigServiceImpl.java index cf463089..52c8488f 100644 --- a/datai-system/src/main/java/com/datai/system/service/impl/SysDatasourceConfigServiceImpl.java +++ b/datai-system/src/main/java/com/datai/system/service/impl/SysDatasourceConfigServiceImpl.java @@ -464,14 +464,14 @@ public class SysDatasourceConfigServiceImpl implements ISysDatasourceConfigServi throw new RuntimeException("数据源名称已存在:" + environmentCode); } - String masterPasswordDecrypted = decryptPassword(masterPassword); + String masterPasswordPlain = masterPassword; Connection connection = null; Statement statement = null; SysDatasourceConfig slaveConfig = null; try { - connection = DriverManager.getConnection(masterUrl, masterUsername, masterPasswordDecrypted); + connection = DriverManager.getConnection(masterUrl, masterUsername, masterPasswordPlain); statement = connection.createStatement(); String createDbSql = String.format("CREATE DATABASE `%s` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci", slaveDbName); @@ -504,7 +504,7 @@ public class SysDatasourceConfigServiceImpl implements ISysDatasourceConfigServi log.info("[从库创建] 数据源配置写入成功, ID: {}", slaveConfig.getId()); String slaveJdbcUrl = buildJdbcUrl(slaveConfig); - dynamicDataSourceManager.addDynamicDataSource(slaveConfig.getDsName(), slaveJdbcUrl, slaveConfig.getUsername(), masterPasswordDecrypted); + dynamicDataSourceManager.addDynamicDataSource(slaveConfig.getDsName(), slaveJdbcUrl, slaveConfig.getUsername(), masterPasswordPlain); log.info("[从库创建] 数据源注册成功: {}", slaveConfig.getDsName()); switchDataSource(slaveConfig.getDsName());