不會現在還有人不加密吧?雖然我之前也懶得加密。。。
環境:Spring Boot :: (v2.1.6.RELEASE) ;mybatis
1、maven導包:
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
2、application.properties文件加
jasypt.encryptor.password=foo
3、單元測試運行下:
@RunWith(SpringRunner.class)
@SpringBootTest
public class HikariTest {
@Autowired
private StringEncryptor stringEncryptor;
@Test
public void testEnvironmentProperties() {
System.out.println(stringEncryptor.encrypt("你的數據庫密碼"));
}
}
然後會得到數據庫密碼加密後的字符串:gwMk8PXkrJTA4K*****************
4、修改application.properties
原:
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=明文
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false&useUnicode=true&serverTimezone=GMT%2B8
修改後:
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false&useUnicode=true&serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=ENC(gwMk8PXkrJTA4K*****************)
5、數據庫連接池
spring.datasource.hikari.auto-commit=true
spring.datasource.hikari.minimum-idle=5
spring.datasource.hikari.maximum-pool-size=30
spring.datasource.hikari.idle-timeout=60000
spring.datasource.hikari.pool-name=DatebookHikariCP
spring.datasource.hikari.max-lifetime=1800000
spring.datasource.hikari.connection-timeout=30000
spring.datasource.hikari.connection-test-query=SELECT 'x' FROM DUAL
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
到這加密就完成啦
隨便截一張圖