From 9cfa9e90fbef5592b1df18f523ed17bfb7c478af Mon Sep 17 00:00:00 2001 From: lbw Date: Mon, 9 Oct 2023 13:35:07 +0800 Subject: [PATCH] =?UTF-8?q?:recycle:=20Refactoring=20code.=20=E8=84=B1?= =?UTF-8?q?=E6=95=8F=E6=94=AF=E6=8C=81=20=E8=BD=A6=E7=89=8C=E5=8F=B7?= =?UTF-8?q?=E3=80=81IPV4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/core/sensitive/SensitiveSerialize.java | 7 +++++++ .../pigx/common/core/sensitive/SensitiveTypeEnum.java | 11 ++++++++++- .../pigx/common/core/util/DesensitizedUtils.java | 4 ++++ .../com/pig4cloud/pigx/admin/api/entity/SysLog.java | 3 +++ 4 files changed, 24 insertions(+), 1 deletion(-) diff --git a/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/sensitive/SensitiveSerialize.java b/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/sensitive/SensitiveSerialize.java index d0cf57883..ca72505f1 100644 --- a/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/sensitive/SensitiveSerialize.java +++ b/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/sensitive/SensitiveSerialize.java @@ -17,6 +17,7 @@ package com.pig4cloud.pigx.common.core.sensitive; +import cn.hutool.core.util.DesensitizedUtil; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.BeanProperty; import com.fasterxml.jackson.databind.JsonMappingException; @@ -79,6 +80,12 @@ public class SensitiveSerialize extends JsonSerializer implements Contex case KEY: jsonGenerator.writeString(DesensitizedUtils.key(origin)); break; + case IPV4: + jsonGenerator.writeString(DesensitizedUtils.ipv4(origin)); + break; + case CAR_LICENSE: + jsonGenerator.writeString(DesensitizedUtil.carLicense(origin)); + break; case CUSTOMER: jsonGenerator .writeString(DesensitizedUtils.desValue(origin, prefixNoMaskLen, suffixNoMaskLen, maskStr)); diff --git a/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/sensitive/SensitiveTypeEnum.java b/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/sensitive/SensitiveTypeEnum.java index 5a8820489..3ffda7ee0 100644 --- a/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/sensitive/SensitiveTypeEnum.java +++ b/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/sensitive/SensitiveTypeEnum.java @@ -64,6 +64,15 @@ public enum SensitiveTypeEnum { /** * 密钥, 【密钥】密钥除了最后三位其他都是***, 与长度无关 */ - KEY + KEY, + /** + * IPV4 类型 113.123.198.176 主机部分打码 113.123.*.123 + */ + IPV4, + + /** + * 中国大陆车牌,包含普通车辆、新能源车辆 + */ + CAR_LICENSE } diff --git a/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/util/DesensitizedUtils.java b/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/util/DesensitizedUtils.java index 43e6a1c64..87665dcd3 100644 --- a/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/util/DesensitizedUtils.java +++ b/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/util/DesensitizedUtils.java @@ -168,4 +168,8 @@ public class DesensitizedUtils { } } + public static String ipv4(String origin) { + return StrUtil.subBefore(origin, '.', true) + ".*"; + } + } diff --git a/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysLog.java b/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysLog.java index 6303fda6f..c3810942f 100644 --- a/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysLog.java +++ b/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/entity/SysLog.java @@ -22,6 +22,8 @@ package com.pig4cloud.pigx.admin.api.entity; import com.alibaba.excel.annotation.ExcelIgnore; import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.*; +import com.pig4cloud.pigx.common.core.sensitive.Sensitive; +import com.pig4cloud.pigx.common.core.sensitive.SensitiveTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -96,6 +98,7 @@ public class SysLog implements Serializable { */ @ExcelProperty("操作ip地址") @Schema(description = "操作ip地址") + @Sensitive(type = SensitiveTypeEnum.IPV4) private String remoteAddr; /**