一、前言
分享一个spring boot的配置properties文件里面使用经过加密的数据库用户名+密码,
虽然说很多东西防在配置文件比较方便,用时直接读取。但是很多公司还是不允许的
好比一些大点的公司都是有规定敏感数据不能呈现在配置文件,
他们是不会把这些敏感信息直接透露给你,尤其涉及账号、密码敏感数据的。
二、pom添加依赖
<!--配置文件加密-->
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>1.16</version>
</dependency>
三、生成需要加密的密文
//根据上面配的盐值自动注入
@Autowired
StringEncryptor stringEncryptor;
@Test
public void getPass() {
String url = stringEncryptor.encrypt("jdbc:mysql://127.0.0.1:3306/数据库?characterEncoding=UTF-8&useSSL=false");
String name = stringEncryptor.encrypt("userName");
String password = stringEncryptor.encrypt("password");
//打印结果
System.out.println(url);
System.out.println(name);
System.out.println(password);
}
// 结果如下
// tSJuqoZC1A12MkGvJsyM2J9uGV1sm4oww8tRDjG5TH3QO8WmyGCIbVVnQoA2Fw5P03diQl5xIVmWnEwm6RjowzcZz5j29kaGOq/quSUfZti9DTWtf2NV//Bwlx4RfXOJ5rt07rz60kD4LabQkxzvhYQ8qiqoxDJI4RhiGJTyAsU=
// VlfSo51DAJoAny05oNn6RA==
// GbSzay6grjq4YM3mbb7KOWloAhvlDjmO
- 这时候我们只需要在properties文件替换我们的参数即可。如下:
使用ENC(加密后的密码)就可以了
四、启动项目检测
- 项目启动成功,数据库连接成功。
五、总结
- 以上我们就简单的完成了配置文件加密啦。还有很多很多可以实现的方法,比如下面这个ali的druid包。他也是能实现加密功能的。这里就不去一一写步骤。自己进行研究,大致都一样。。
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.12</version>
</dependency>
😁 作者:Teddy (公众号:鸡仓故事汇)
ok!到这里就大功告成,小编(Teddy)在这里先感谢大家的到来。
虽然不是太详细,小编已经很努力,给小编来个一键三连(点赞,关注,收藏),小编会越来越努力。。。