mirror of
http://git.pig4cloud.com/pig/pigx.git
synced 2026-11-11 21:29:02 +08:00
feat(common-sensitive): 新增URL参数脱敏功能及枚举类型(ai-dev)
1. 在DesensitizedUtils工具类中新增url()方法,实现URL参数脱敏功能 2. 在SensitiveTypeEnum枚举中新增QUERY_PARAM类型,关联新增的脱敏方法 3. 方法会将URL参数值统一替换为***以保护敏感信息
This commit is contained in:
1 parent
dc37974c72
commit
b3834e3215
2 files changed
+30
-1
No files matched your search
+5
-1
@@ -80,8 +80,12 @@ public enum SensitiveTypeEnum {
|
||||
/**
|
||||
* 中国大陆车牌,包含普通车辆、新能源车辆
|
||||
*/
|
||||
CAR_LICENSE((sensitive, input) -> DesensitizedUtil.carLicense(input));
|
||||
CAR_LICENSE((sensitive, input) -> DesensitizedUtil.carLicense(input)),
|
||||
|
||||
/**
|
||||
* 请求参数脱敏
|
||||
*/
|
||||
QUERY_PARAM((sensitive, input) -> DesensitizedUtils.url(input));
|
||||
|
||||
/**
|
||||
* 获取脱敏策略
|
||||
|
||||
+25
@@ -17,10 +17,15 @@
|
||||
|
||||
package com.pig4cloud.pigx.common.sensitive.util;
|
||||
|
||||
import cn.hutool.core.net.url.UrlBuilder;
|
||||
import cn.hutool.core.net.url.UrlQuery;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.json.JSONObject;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 脱敏工具类
|
||||
*
|
||||
@@ -202,6 +207,26 @@ public class DesensitizedUtils {
|
||||
return jsonObject.toStringPretty();
|
||||
}
|
||||
|
||||
/**
|
||||
* url 参数脱敏
|
||||
*
|
||||
* @param url url
|
||||
* @return url?xxxx=***&xxxx=***
|
||||
*/
|
||||
public static String url(String url) {
|
||||
UrlBuilder builder = UrlBuilder.of(url, StandardCharsets.UTF_8);
|
||||
UrlQuery originalQuery = builder.getQuery();
|
||||
UrlQuery maskedQuery = new UrlQuery();
|
||||
|
||||
// 遍历原始参数,构造新的脱敏参数
|
||||
for (Map.Entry<CharSequence, CharSequence> entry : originalQuery.getQueryMap().entrySet()) {
|
||||
maskedQuery.add(entry.getKey(), "***");
|
||||
}
|
||||
|
||||
// 构造新的 URL
|
||||
return builder.setQuery(maskedQuery).build();
|
||||
}
|
||||
|
||||
public static String ipv4(String origin) {
|
||||
return StrUtil.subBefore(origin, '.', true) + ".*";
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user