一、配置文件:application-druid.yml
# 数据源配置 spring: datasource: type: com.alibaba.druid.pool.DruidDataSource druid: config: enabled: true # 主库数据源 master: url: jdbc:mysql://…………… username: root password: K/Y6oK4ywo57m………………1zAGqiD8bewidbmKA+IBnzA== # java -cp .\druid-1.2.1.jar com.alibaba.druid.filter.config.ConfigTools 生成密码 #DruidEncryptorUtils类生成密码和公钥,之后开启druid:filter:config:enabled=true publicKey: MFwwDQYJKoZIhvc………………W/aRWx6BKtTyZzERkCAwEAAQ== connectionProperties: config.decrypt=true;config.decrypt.key=${spring.datasource.druid.master.publicKey} slave: # 从数据源开关/默认关闭 enabled: false url: username: password:…………
# 启动加密数据库密码 config: enabled: true
二、生成密文 / 明文转密文
D:\>java -cp .\druid-1.2.1.jar com.alibaba.druid.filter.config.ConfigTools admin
privateKey:MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAgpSFQQcH8FXxSudJrerj/LWKhH7mJv9Dd59q19hyaQYMV0l/RRd0W5KtSjRO5FvruydaKGcrg/v4hGuP+jJG/wIDAQABAkAlP8bPaPkLxwhg7J9o/FNy+Dp+V1DCGRke25v33Keua343lW98HpgchlJcmOHXicTd9/7onQuwaSwlm/xv/c1JAiEA7r+6Qc7+bvSasUcLFyGAjAtXpUzInYBmJa8speyMU9sCIQCMA+9Fi+yRnz44TlJAUFfwISB/85jorCP0WA7V85mUrQIgN9BYobPbZWMHmvQJ0rGBVLv+FGW77J4swxiNroh7UcsCIQCGnvHbiGF40gdc09E5jQZAF1nMLEcEzx3yvQfmpkUwMQIgQO5+Xo3RlSMMNYilFOCUUFWr9X0xu732jWrZPHQJrv0=
publicKey:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIKUhUEHB/BV8UrnSa3q4/y1ioR+5ib/Q3efatfYcmkGDFdJf0UXdFuSrUo0TuRb67snWihnK4P7+IRrj/oyRv8CAwEAAQ==
password:ANTBniQbDmwWmFZEsafuqySzfJpOY7bQzbHcgWh85KecJC2voMlgzeq9sz7fV6wYDL7i0KEe2+nYgyYoI4K38Q==
三、解密验证 / 密文转明文
pom.xml
<!-- 配置文件密码加密-->
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>
EncTool.java
public class EncTool {
public static void main(String[] args) throws Exception {
String decrypt = ConfigTools.decrypt("publicKeyText" ,"cipherText");
System.out.println(decrypt);
}
}