diff --git a/deployer/src/main/resources/example/instance.properties b/deployer/src/main/resources/example/instance.properties index f72b65fe..81f78b65 100644 --- a/deployer/src/main/resources/example/instance.properties +++ b/deployer/src/main/resources/example/instance.properties @@ -31,8 +31,12 @@ canal.instance.tsdb.enable=true # username/password canal.instance.dbUsername=canal -canal.instance.dbPassword=canal -canal.instance.connectionCharset=UTF-8 +canal.instance.dbPassword=cZozNf1mzW6EQLGO2q9u99619xbZLO0fbua3EX08r4BWNXb8lAt1aHrTEOBttd6UY8Vnuc0easlVXZDdLtt8BQ== +canal.instance.pwdPublicKey=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALK4BUxdDltRRE5/zXpVEVPUgunvscYFtEip3pmLlhrWpacX7y7GCMo2/JM6LeHmiiNdH1FWgGCpUfircSwlWKUCAwEAAQ== +canal.instance.connectionCharset = UTF-8 +canal.instance.defaultDatabaseName =test +# enable druid Decrypt database password +canal.instance.enableDruid=true # table regex canal.instance.filter.regex=.*\\..* diff --git a/deployer/src/main/resources/spring/default-instance.xml b/deployer/src/main/resources/spring/default-instance.xml index 07b9109d..95ec6a29 100644 --- a/deployer/src/main/resources/spring/default-instance.xml +++ b/deployer/src/main/resources/spring/default-instance.xml @@ -126,18 +126,22 @@ - + + + - + + + diff --git a/deployer/src/main/resources/spring/file-instance.xml b/deployer/src/main/resources/spring/file-instance.xml index 58dd32c9..df30174a 100644 --- a/deployer/src/main/resources/spring/file-instance.xml +++ b/deployer/src/main/resources/spring/file-instance.xml @@ -111,22 +111,26 @@ - + + + - + + + - + diff --git a/deployer/src/main/resources/spring/group-instance.xml b/deployer/src/main/resources/spring/group-instance.xml index 47d3ba33..71788f66 100644 --- a/deployer/src/main/resources/spring/group-instance.xml +++ b/deployer/src/main/resources/spring/group-instance.xml @@ -108,18 +108,22 @@ - + + + - + + + @@ -206,18 +210,22 @@ - + + + - + + + diff --git a/deployer/src/main/resources/spring/memory-instance.xml b/deployer/src/main/resources/spring/memory-instance.xml index 428454db..751e9f4b 100644 --- a/deployer/src/main/resources/spring/memory-instance.xml +++ b/deployer/src/main/resources/spring/memory-instance.xml @@ -96,21 +96,25 @@ - + - + + + - + + + diff --git a/instance/spring/src/test/resources/retl/instance.properties b/instance/spring/src/test/resources/retl/instance.properties index 62ba5c4c..afc34305 100644 --- a/instance/spring/src/test/resources/retl/instance.properties +++ b/instance/spring/src/test/resources/retl/instance.properties @@ -27,9 +27,12 @@ canal.instance.master2.timestamp = # username/password canal.instance.dbUsername = xxxxx -canal.instance.dbPassword = xxxxx +canal.instance.dbPassword=cZozNf1mzW6EQLGO2q9u99619xbZLO0fbua3EX08r4BWNXb8lAt1aHrTEOBttd6UY8Vnuc0easlVXZDdLtt8BQ== +canal.instance.pwdPublicKey=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALK4BUxdDltRRE5/zXpVEVPUgunvscYFtEip3pmLlhrWpacX7y7GCMo2/JM6LeHmiiNdH1FWgGCpUfircSwlWKUCAwEAAQ== canal.instance.defaultDatabaseName = canal.instance.connectionCharset = UTF-8 +# enable druid Decrypt database password +canal.instance.enableDruid=true # table regex canal.instance.filter.regex = .*\\..* diff --git a/parse/src/main/java/com/alibaba/otter/canal/parse/support/AuthenticationInfo.java b/parse/src/main/java/com/alibaba/otter/canal/parse/support/AuthenticationInfo.java index 5446d068..6b12ef0d 100644 --- a/parse/src/main/java/com/alibaba/otter/canal/parse/support/AuthenticationInfo.java +++ b/parse/src/main/java/com/alibaba/otter/canal/parse/support/AuthenticationInfo.java @@ -2,21 +2,32 @@ package com.alibaba.otter.canal.parse.support; import java.net.InetSocketAddress; +import com.alibaba.druid.filter.config.ConfigTools; import org.apache.commons.lang.builder.ToStringBuilder; import org.apache.commons.lang.builder.ToStringStyle; /** * 数据库认证信息 - * + * * @author jianghang 2012-7-11 上午11:22:19 * @version 1.0.0 */ public class AuthenticationInfo { + + private InetSocketAddress address; // 主库信息 private String username; // 帐号 private String password; // 密码 - private String defaultDatabaseName; // 默认链接的数据库 + private String defaultDatabaseName;// 默认链接的数据库 + private String pwdPublicKey; //公钥 + private boolean enableDruid; //是否使用druid加密解密数据库密码 + + public void initPwd() throws Exception{ + if (enableDruid) { + this.password = ConfigTools.decrypt(pwdPublicKey, password); + } + } public AuthenticationInfo(){ super(); @@ -65,6 +76,22 @@ public class AuthenticationInfo { this.defaultDatabaseName = defaultDatabaseName; } + public String getPwdPublicKey() { + return pwdPublicKey; + } + + public void setPwdPublicKey(String pwdPublicKey) { + this.pwdPublicKey = pwdPublicKey; + } + + public boolean isEnableDruid() { + return enableDruid; + } + + public void setEnableDruid(boolean enableDruid) { + this.enableDruid = enableDruid; + } + @Override public String toString() { return ToStringBuilder.reflectionToString(this, ToStringStyle.DEFAULT_STYLE);