有时安全不得不考虑,看看新闻泄漏风波事件就知道了
我们在用Spring boot进行开发时,经常要配置很多外置参数ftp、数据库连接信息、支付信息等敏感隐私信息,如下
![](https://img-blog.csdnimg.cn/20200529073851183.png)
这不太好,特别是互联网应用,应该用加密的方式比较安全,有点类似一些应用如电商、公安、安检平台、滚动式大屏中奖信息等显示身份证号和手机号都是前几位4109128*********和158*******。
那就把图中的明文改造下
1. 引入加密包,可选,要是自己实现加解密算法,就不需要引入第三方加解密库
2. 加密敏感内容,然后填充配置文件
加密代码:
输出加密后的效果
![](https://img-blog.csdnimg.cn/20200529083112211.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RvbmcxOTg5MTIxMA==,size_16,color_FFFFFF,t_70)
把这两个值对应的填充到数据库用户名和密码
![](https://img-blog.csdnimg.cn/20200529083301879.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RvbmcxOTg5MTIxMA==,size_16,color_FFFFFF,t_70)
3. 编写配置类
就是Spring里的标有@Configuration注解的类,然后解密配置文件里的数据库用户名和密码(就是上图中的敏感属性字段)
![](https://img-blog.csdnimg.cn/20200529084021979.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RvbmcxOTg5MTIxMA==,size_16,color_FFFFFF,t_70)
4. 编写测试案例
只写核心代码
输出效果:
![](https://img-blog.csdnimg.cn/20200529085207151.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RvbmcxOTg5MTIxMA==,size_16,color_FFFFFF,t_70)
ok,就是这效果!!!
注意,加解密算法没有强制要求,可以自己写,敏感信息(ftp、email、数据库连接信息、支付支付宝微信等)也可以接着加,用的时候把它解密出现就行