From 9423051f984222cf59444152cf5192e9b197d417 Mon Sep 17 00:00:00 2001 From: wzx <2271174149@qq.com> Date: 星期二, 18 三月 2025 17:11:35 +0800 Subject: [PATCH] 敏感数据处理 --- ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/SysModelController.java | 11 ++++++++++- ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/util/DesensitizationUtil.java | 19 +++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/SysModelController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/SysModelController.java index dfe0284..8cc5357 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/SysModelController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/SysModelController.java @@ -25,12 +25,14 @@ import org.ruoyi.system.service.ISysModelService; import org.ruoyi.system.service.ISysPackagePlanService; import org.ruoyi.system.service.ISysUserService; +import org.ruoyi.system.util.DesensitizationUtil; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; /** * 绯荤粺妯″瀷 @@ -49,7 +51,6 @@ private final ISysPackagePlanService sysPackagePlanService; private final ISysUserService userService; - /** * 鏌ヨ绯荤粺妯″瀷鍒楄〃 - 鍏ㄩ儴 @@ -82,6 +83,14 @@ List<String> array = new ArrayList<>(Arrays.asList(sysPackagePlanVo.getPlanDetail().split(","))); sysModelVos.removeIf(model -> !array.contains(model.getModelName())); } + sysModelVos.stream().map(vo -> { + String maskedApiHost = DesensitizationUtil.maskData(vo.getApiHost()); + String maskedApiKey = DesensitizationUtil.maskData(vo.getApiKey()); + vo.setApiHost(maskedApiHost); + vo.setApiKey(maskedApiKey); + return vo; + }) + .collect(Collectors.toList()); return R.ok(sysModelVos); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/util/DesensitizationUtil.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/util/DesensitizationUtil.java new file mode 100644 index 0000000..bbcb1aa --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/util/DesensitizationUtil.java @@ -0,0 +1,19 @@ +package org.ruoyi.system.util; + + +public class DesensitizationUtil { + public static String maskData(String data) { + if (data == null || data.length() <= 4) { + return data; + } + int start = 2; + int end = data.length() - 2; + StringBuilder masked = new StringBuilder(); + masked.append(data, 0, start); + for (int i = start; i < end; i++) { + masked.append('*'); + } + masked.append(data.substring(end)); + return masked.toString(); + } +} -- Gitblit v1.9.3