用于application.properties数据库密码加密或者其他配置文件内容加密
1.导入jar包
<!--jdbc加密-->
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>1.18</version>
</dependency>
2. 加盐同时修改application.properties文件的内容
jasypt.encryptor.password=字符串
spring.datasource.username=ENC(wzh7/OmPLACqPQ8VbpGZg==)
spring.datasource.password=ENC(PSRNekVu7LIvylnb94hKrq/vBpUly4Ys/7LBy3QT4o=)
CODE.PUSH.PASSWORD=ENC(ctrvELiLRlfM1aDH0OTzA==)
3. 编写测试类
@SpringBootTest
@RunWith(SpringRunner.class)
public class aa {
@Autowired
StringEncryptor encryptor;
@Value("${CODE.PUSH.PASSWORD}")
private String bb;
@Test
public void encry(){
// 加密
String username = encryptor.encrypt("admin");
String pwd = encryptor.encrypt("123456");
System.out.println("userName:" + username);
System.out.println("pwd:" + pwd);
//解密
String codeName =ConfigUtil.getCodeValue("CODE_PUSH_ACCOOUNT");//获取任意配置的工具类
System.out.println("codeName:" + codeName);
System.out.println("解密:" + bb);
System.out.println("解密:" + encryptor.decrypt(codeName));
}
}
解疑
1.application.properties里的任意配置都能直接加 ENC(加密内容) 完成加密
2.若是其他配置文件,是不能如1所示配置加密的,但是可以调用相关的工具类方法解密,如步骤三测试所示
最后推荐阿波罗配置中心统一管理