一、问题描述
一般情况下,yml里边的配置信息 都是在项目部署时动态管理的,一般不存在泄密或者不安全的情况,但是,不凡有一些脑袋有泡的客户,要对你项目源码进行安全性检测。故提供如下解决方案:
二、关于中间件Redis、MQ等对用户名或密码进行加密。
一般可在其对应的配置类中进行加解密,实施方法如下:在yml配置加密后的字符串,在bean初始化配置类里读取密码时,对密文进行解密赋值。
代码片段如下:
针对此类中间件,加密思路如上,当然也有别的方式,这里只更改客户端,比较笨,勿怪。
三、关于数据库用户名密码的数据加密
3.1网上的方案大致分两种:
1.利用jasypt进行加解密:
大致就是引入其jasypt-spring-boot-starter对应版本的依赖,yml配置加项目启动指定密钥。
本人亲测:大多使用的主流版本2.1.2 和 3.0.3 对SpringBoot 2.x的支持都不怎么好,虽然网上说 2.2.x以下用2.1.2比较好 但是本人也试了,会报错。报jasypt.encryptor.password
2.利用自定义的数据库DataSourceConfig进行数据库配置加解密。这里我没试,觉得麻烦 哈哈哈 我直接用mybatis-plus官方给的: