一、前言
核心隐私数据无论对于企业还是用户来说尤其重要,因此要想办法杜绝各种隐私数据的泄漏。下面带大家从以下三个方面讲解一下隐私数据如何脱敏,也是日常开发中需要注意的:
- 配置文件数据脱敏
- 接口返回数据脱敏
- 日志文件数据脱敏
文章目录如下:
二、配置文件如何脱敏?
经常会遇到这样一种情况:项目的配置文件中总有一些敏感信息,比如数据源的url、用户名、密码....这些信息一旦被暴露那么整个数据库都将会被泄漏,那么如何将这些配置隐藏呢?
以前都是手动将加密之后的配置写入到配置文件中,提取的时候再手动解密,当然这是一种思路,也能解决问题,但是每次都要手动加密、解密不觉得麻烦吗?
上图的配置并没有实现数据脱敏,这是普通的配置,使用的是PatternLayout
3. 自定义PatternLayout实现数据脱敏
步骤2中的配置使用的是 PatternLayout
实现日志的格式,那么我们也可以自定义一个PatternLayout来实现日志的过滤脱敏。
PatternLayout的类图继承关系如下:
经过上述两个步骤,自定义的 PatternLayout
已经完成,下面将是改写 log4j2.xml
这个配置文件了。
4. 修改log4j2.xml配置文件
其实这里修改很简单,原配置文件是直接使用 PatternLayout
进行日志格式化的,那么只需要将默认的 <PatternLayout/>
这个节点替换成 <CustomPatternLayout/>
,如下图:
直接全局替换掉即可,至此,这个配置文件就修改完成了。
5. 演示效果
在步骤3这边自定义了脱敏规则静态类 Log4j2Rule
,其中定义了姓名、身份证、号码这三个脱敏规则,如下: