Springboot 日志、配置文件、接口数据如何脱敏?这样子实现才叫优雅!

cc9f6aff4cca5edaaa65fcc8e0e26b21.png

若有收获,请记得分享和转发哦

一、前言

核心隐私数据无论对于企业还是用户来说尤其重要,因此要想办法杜绝各种隐私数据的泄漏。下面带大家从以下三个方面讲解一下隐私数据如何脱敏,也是日常开发中需要注意的:

  1. 配置文件数据脱敏

  2. 接口返回数据脱敏

  3. 日志文件数据脱敏

文章目录如下:

a2e32a50574f3ff81eb80dfdda7ebd5e.png

二、配置文件如何脱敏?

经常会遇到这样一种情况:项目的配置文件中总有一些敏感信息,比如数据源的url、用户名、密码....这些信息一旦被暴露那么整个数据库都将会被泄漏,那么如何将这些配置隐藏呢?

以前都是手动将加密之后的配置写入到配置文件中,提取的时候再手动解密,当然这是一种思路,也能解决问题,但是每次都要手动加密、解密不觉得麻烦吗?

febddd32ceac3d964d2a125ee8c5b2b0.png

97965225ea8a39539fb7669d2e46e60c.png

9ec4176240d39a932609b49949fe8e3c.png

43cc0ee67462bfee224662855be928bb.png

4f4bd45a7a43d7210c138c89107d944c.png

6e173e65286dc8927dd4a529b3a36eef.png

38f4a46e80f45b4ef4586b854b0ac8f5.png

f15ba15e46aac29a388adeb4e35fdfc4.png

a352c28b7252cc6796ff21abd25ab1c0.png

3d52349f43588c356723e5b14fef9f28.png

3e38568d4a29682bee2bfd745972fc8a.png

f602873322649f7dceb1c4b5b1ee7bf1.png

4e7c9760782d7c9684473655abb52437.png

16222f26945c224e4ee254ed97739018.png16a5038c3de46640bec68cbfe6f65d31.png

上图的配置并没有实现数据脱敏,这是普通的配置,使用的是PatternLayout

3.  自定义PatternLayout实现数据脱敏

步骤2中的配置使用的是 PatternLayout实现日志的格式,那么我们也可以自定义一个PatternLayout来实现日志的过滤脱敏。

PatternLayout的类图继承关系如下:

7ffbfd44453874ace3ab2d2fe4ca5163.png

a896186341d3708788a749d626cbbead.png

02d5f02b19d8c4d0a912bf1fd7283e87.png

30a8273f759ebd2939664b0cdd5db270.png

4e00f41a77d923bd632bf4e0bdb186b0.png

c9ccedfbe6335fa1e9e3e6352af7e457.png

2246dea47cd3ddb1c29bea34950f00c6.png

e0feddb670d348836cf7ce4078b831a8.png

579c71f2cbc5ca82f2ebe527dfce1470.png

经过上述两个步骤,自定义的 PatternLayout已经完成,下面将是改写 log4j2.xml这个配置文件了。

4. 修改log4j2.xml配置文件

其实这里修改很简单,原配置文件是直接使用 PatternLayout进行日志格式化的,那么只需要将默认的 <PatternLayout/>这个节点替换成 <CustomPatternLayout/>,如下图:

48d63ed40cfab8fd59a559278039b251.png

直接全局替换掉即可,至此,这个配置文件就修改完成了。

5. 演示效果

在步骤3这边自定义了脱敏规则静态类 Log4j2Rule,其中定义了姓名、身份证、号码这三个脱敏规则,如下:

2511795f062aff64470fe0f89c788695.png

cd6c9e67139f17bf1798221671387f05.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值