Appearance
日志脱敏
参数配置
- 修改
logback-app.xml
配置
将以下配置放到配置文件的最前面,否则脱敏不生效;<conversionRule conversionWord="msg" converterClass="com.dcits.comet.log.SensitiveDataConverter"/>
xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="10 seconds" debug="false">
<contextName>logback</contextName>
<!--日志脱敏 -->
<conversionRule conversionWord="msg" converterClass="com.dcits.comet.log.SensitiveDataConverter"/>
<!-- 引入comet-logback -->
<include resource="com/dcits/comet/logback/online/comet-logback.xml"/>
</configuration>
- 脱敏规则配置
在 application.yml
中新增需要脱敏的字段以及脱敏的规则信息:
yaml
comet:
#日志脱敏配置
log:
sensitiveConfig:
#开关
enable: true
#脱敏规则
sensitives:
strategyPhone: strategyPhone
strategyPassword: strategyPassword
strategyFixdPhone: strategyFixedPhone
strategyEmail: strategyEmail
strategyDocumentId: strategyDocumentId
strategyDefault: strategyDefault
strategyCardNo: strategyCardNo
strategyChineseName: strategyChineseName
strategyCnapsCode: strategyCnapsCode
clientName: strategyChineseName
clientShort: strategyChineseName
lenderName: strategyChineseName
脱敏规则
脱敏规则名称 | 参数 | 脱敏规则 |
---|---|---|
默认规则 | strategyDefault | 默认规则,全部 * |
卡号 | strategyCardNo | 若卡号长度大于等于 16,展示前 6 位和后 4 位,中间屏蔽为 * ;否则使用默认规则; |
中文名 | strategyChineseName | 姓名长度在 3 个字以内的隐藏姓为 * ;姓名在 3 个字到 6 个字(包 含3, 6)只显示后两位,其余隐藏为* ;姓名长度大于 6 展示姓和最后两位其余屏蔽为 * ; |
公司开户银行联号 | strategyCnapsCode | 长度小于等于 2 时全部展示,长度大于 2 时显示前两位,其他用 * 隐藏; |
身份证号 | strategyDocumentId | 长度大于等于 16 时,展示前面 6 位和后面 4 位,中间屏蔽为 * ;小于 16 位的展示前面 1 位和最后 1 位中间其余屏蔽为 * ; |
邮箱 | strategyEmail | 展示邮箱前三位和 @ 符后面的,中间屏蔽为 * |
固定电话 | strategyFixedPhone | 固定电话后 4 位显示,前面用 * 屏蔽;(若长度小于等于 4 则显示) |
密码 | strategyPassword | 隐藏为 6 位 * |
手机号 | strategyPhone | 长度为 11 位,展示前面 3 位后面 2 位,隐藏中间 6 位为 * ;若不为 11 位则隐藏最中间 4 位为 * ; |
说明
加密规则支持扩展,实现接口 IStrategy
并注册为 Spring Bean 即可。