添加依賴:
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
<!--mysql依賴-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<!--<version>6.0.6</version>-->
<version>8.0.11</version>
</dependency>
<!--mybatis-plus依賴-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.1.2</version>
</dependency>
配置jasypt的祕鑰,可以隨便填寫,
#jasypt加密的密匙
jasypt:
encryptor:
password: banjuanliunian
獲取到加密後的密文:
如下:
@Test
void getPw(){
String password = encryptor.encrypt("密碼");
String username = encryptor.encrypt("賬戶");
String url = encryptor.encrypt("jdbc:mysql://ip地址:3306/數據庫?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=CONVERT_TO_NULL&serverTimezone=GMT%2b8");
System.out.println("url:" +url);
System.out.println("password:" +password);
System.out.println("username:" +username);
}
加密後的密文如下:
配置yml中:
spring:
datasource:
username: ENC(D6iIROr2zwifm5R0PZUN9Q==)
password: ENC(UI/n8+smZpukoASwk6GgYw==)
url: ENC(iR+kA8TtHnlwhGAmzHeTJUUPFvvkme9FS8azvbSifq7byce6vyWGH3f0v799b92kZ0SLXTwtJZaNVrP6WgeOLKxYFG/tuGCKWTVxXqciuK+Yl97yzyNQWzgI/KP3gelP+qXYjMEy9GmnAIYExpFDJWJQeZfpKzDcbA5KaJVamzR6w7pnBvUvBnN+yle/NsGD1Z3i2wUJMgjnKHwmq1VfhPkwiWBnoV5+ar+GUGuECJyxwAZVyy774p1k3/uUPLCU)
server:
port: 9091
#jasypt加密的密匙
jasypt:
encryptor:
password: banjuanliunian
mybatis-plus:
mapper-locations: classpath*:/mapper/*.xml
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
注意上面的 ENC()爲固定寫法,()裏面是加密後的信息。
測試查詢:
@Test
void testDataBase(){
TAdmin admin = tAdminService.getById(1L);
System.out.println(admin);
}
數據如下:
可以看到數據成功被查詢出來了