pom.xml文件中引入jar
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.20</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.10</version> </dependency>
工具类生成密码
public class EncrypUtil { @Test public void druidEncry() throws Exception { // 密码明文 String password = "db2inst1"; System.out.println("密码明文:" + password); String[] keyPair = ConfigTools.genKeyPair(512); // 私钥 String privateKey = keyPair[0]; // 公钥 String publicKey = keyPair[1]; System.out.println("privateKey: " + privateKey); System.out.println("publicKey: " + publicKey); //用私钥加密后的密文 password = ConfigTools.encrypt(privateKey, password); System.err.println("password: " + password); String decryptPwd = ConfigTools.decrypt(publicKey, password); System.err.println("解密后密码:" + decryptPwd); } }
执行结果:
密码明文:db2inst1
privateKey: MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAu85TMSfajuPhRioVKGP0tIgDwgZtMQFgr9ml6XYFjpjhdrEFsGPKlR9kjefttmqnP3wHFmFfiHpy2pdnhuBcHwIDAQABAkEAmoEXd+0tpThccHjWhzAUdSEg1lKrKhHUFVedYv+xeqlqoaOO+VtP7BO0Rclg5I1hCSs0GIZdzdfq1w8mlDuiYQIhAN6GC+I4xSJ6ajsAOScz6Dgr5AwFxTWtK1xvSvums4EVAiEA2A82baXMdeQbIaU+nKj/HLaCoIxCL1gyC3cfFBhh7WMCIGBUoUJelyC049YE47kP5ICkp4V43gW9oJ7UYx6L7Pt9AiEAz5mWZ7bGhYRfGW4IgkjTj8hCLXd3ZLxuoZuc7hcbiRcCIEc+nNLgM0MM0+5oGtaTHPKx2nT319Ije6OzociWIo0H
publicKey: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALvOUzEn2o7j4UYqFShj9LSIA8IGbTEBYK/Zpel2BY6Y4XaxBbBjypUfZI3n7bZqpz98BxZhX4h6ctqXZ4bgXB8CAwEAAQ==
password: uAlodzqORTaOt0szV7a9tuvYjF8dHPpQgBzzYd0fVzUWQtA0hDaS6afRnOZEg1Y0P14ktb+dvWKzOFhj7xgpkw==
解密后密码:db2inst1
application.yml文件数据源配置
spring:
datasource: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.ibm.db2.jcc.DB2Driver url: jdbc:db2://localhost:65000/TEST:currentSchema=ts; username: db2inst1 password: uAlodzqORTaOt0szV7a9tuvYjF8dHPpQgBzzYd0fVzUWQtA0hDaS6afRnOZEg1Y0P14ktb+dvWKzOFhj7xgpkw== druid: filter: config: enabled: true connection-properties: config.decrypt=true;config.decrypt.key=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALvOUzEn2o7j4UYqFShj9LSIA8IGbTEBYK/Zpel2BY6Y4XaxBbBjypUfZI3n7bZqpz98BxZhX4h6ctqXZ4bgXB8CAwEAAQ==