From d1cfd849c6a61800dcd86ffb45f80882ae20b2e7 Mon Sep 17 00:00:00 2001
From: zhizhijie <zhizhijie@users.noreply.gitee.com>
Date: 星期一, 14 九月 2026 22:32:36 +0800
Subject: [PATCH] security: 接口鉴权 + 跨域收紧 + AI 数据脱敏 + 日志脱敏

---
 traffic-audit-server/src/main/java/com/trafficaudit/llmintegration/service/DesensitizeService.java |   23 ++++++++++++++++++++++-
 1 files changed, 22 insertions(+), 1 deletions(-)

diff --git a/traffic-audit-server/src/main/java/com/trafficaudit/llmintegration/service/DesensitizeService.java b/traffic-audit-server/src/main/java/com/trafficaudit/llmintegration/service/DesensitizeService.java
index 4f68c3a..04ee573 100644
--- a/traffic-audit-server/src/main/java/com/trafficaudit/llmintegration/service/DesensitizeService.java
+++ b/traffic-audit-server/src/main/java/com/trafficaudit/llmintegration/service/DesensitizeService.java
@@ -7,6 +7,10 @@
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.atomic.AtomicInteger;
 
+/**
+ * 浼佷笟鍚嶇О鑴辨晱锛氭妸浼佷笟鍚嶇О鏇挎崲涓� Company1銆丆ompany2鈥� 鍚庡彂缁欏ぇ妯″瀷锛屽洖绛旇繑鍥炲墠鍐嶈繕鍘熴��
+ * 浠呬繚瀛樺湪鍐呭瓨涓紝涓嶈惤搴撱��
+ */
 @Slf4j
 @Service
 public class DesensitizeService {
@@ -16,6 +20,9 @@
     private final AtomicInteger counter = new AtomicInteger(1);
 
     public String maskEnterprise(String name) {
+        if (name == null) {
+            return null;
+        }
         return enterpriseMap.computeIfAbsent(name, k -> {
             String alias = "Company" + counter.getAndIncrement();
             reverseMap.put(alias, name);
@@ -27,9 +34,23 @@
         return reverseMap.getOrDefault(alias, alias);
     }
 
+    /** 鎶婃暣娈垫枃鏈噷鍑虹幇杩囩殑鑴辨晱鍒悕杩樺師涓虹湡瀹炰紒涓氬悕绉帮紙鍥炵瓟杩斿洖缁欏墠绔墠璋冪敤锛� */
+    public String unmaskAll(String text) {
+        if (text == null || text.isEmpty() || reverseMap.isEmpty()) {
+            return text;
+        }
+        String out = text;
+        for (Map.Entry<String, String> e : reverseMap.entrySet()) {
+            if (out.contains(e.getKey())) {
+                out = out.replace(e.getKey(), e.getValue());
+            }
+        }
+        return out;
+    }
+
     public void clear() {
         enterpriseMap.clear();
         reverseMap.clear();
         counter.set(1);
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.9.1