<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
jasypt:
encryptor:
password: Y6M9fAJQdU7jNp5MW
@Test
public class DatabaseTest {
@Autowired
private StringEncryptor encryptor;
@Test
public void getPass() {
String url = encryptor.encrypt("jdbc:mysql://localhost:3306/mydb&characterEncoding=utf-8");
String name = encryptor.encrypt("root");
String password = encryptor.encrypt("123456");
System.out.println("database url: " + url);
System.out.println("database name: " + name);
System.out.println("database password: " + password);
}
}
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: ENC(h20YiPrvNnuuTe096APd3bnG3++Yro=)
username: ENC(sT6BztXbJEa71eg3pPGYMQ==)
password: ENC(MpSZFJ9ftq+3+VUANZjr0Q==)
jasypt:
encryptor:
password: Y6M9fAJQdU7jNp5MW
- 为防止加密秘钥泄露,可在项目部署的时候使用命令传入
java -jar xxx.jar -Djasypt.encryptor.password=Y6M9fAJQdU7jNp5MW