From e961490e8b7638ed9df9e7e138aff5e8f0135aae Mon Sep 17 00:00:00 2001 From: yuejiajun <1530620364@qq.com> Date: Thu, 16 Oct 2025 11:26:44 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=BD=E5=8A=A0=E8=B0=83=E7=94=A8=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/common/domain/BaseXPortData.java | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/example/demo/common/domain/BaseXPortData.java b/src/main/java/com/example/demo/common/domain/BaseXPortData.java index 4b14433..5ad5b14 100644 --- a/src/main/java/com/example/demo/common/domain/BaseXPortData.java +++ b/src/main/java/com/example/demo/common/domain/BaseXPortData.java @@ -52,7 +52,7 @@ public class BaseXPortData implements Serializable { private String s; /** - * 完整性 gritty + * 完整性 gritty,由 c、v、e、data 四种数据组成 sha1 做完整性校验 */ @Schema(description = "完整性") private String g; @@ -64,19 +64,25 @@ public class BaseXPortData implements Serializable { private String v; /** - * 类名 clazz + * 类名 clazz,通过字符串加密,记录处理的 data 的 class 对象 */ @Schema(description = "类名") private String c; /** - * 类名 service + * 类名 service,通过字符串加密,记录处理的 service 字段名 */ @Schema(description = "服务名") private String e; /** - * 数据 + * 服务方法名 method,通过字符串加密,记录处理的 service#method 字段名 + */ + @Schema(description = "服务方法名") + private String m; + + /** + * 数据,通过字符串加密,记录实际数据 */ @Schema(description = "数据") private String data; @@ -86,15 +92,15 @@ public class BaseXPortData implements Serializable { * @return 为空则进行计算 */ public String getG() { - return g == null || g.trim().isEmpty() ? (generateChecksum(c, v, e, data)) : (g); + return g == null || g.trim().isEmpty() ? (generateChecksum(c, v, e, m, data)) : (g); } /** * 生成数据的校验和 */ - public static String generateChecksum(String c, String v, String e, String data) { + public static String generateChecksum(String c, String v, String e, String m, String data) { try { - String combined = c + "|" + v + "|" + e + "|" + data; + String combined = c + "|" + v + "|" + e + "|" + m + "|" + data; MessageDigest digest = MessageDigest.getInstance("SHA-256"); byte[] hash = digest.digest(combined.getBytes()); @@ -114,8 +120,8 @@ public class BaseXPortData implements Serializable { /** * 验证数据完整性 */ - public static boolean verifyIntegrity(String c, String v, String e, String data, String expectedChecksum) { - String actualChecksum = generateChecksum(c, v, e, data); + public static boolean verifyIntegrity(String c, String v, String e, String m, String data, String expectedChecksum) { + String actualChecksum = generateChecksum(c, v, e, m, data); return Objects.equals(actualChecksum, expectedChecksum); } @@ -123,14 +129,13 @@ public class BaseXPortData implements Serializable { * 验证数据完整性 */ public boolean verifyIntegrity() { - return verifyIntegrity(c, v, e, data, g); + return verifyIntegrity(c, v, e, m, data, g); } public static void main(String[] args) { BaseXPortData baseXPortData = new BaseXPortData(); baseXPortData.id = "1"; baseXPortData.ts = "1"; - // baseXPortData.s = "1"; baseXPortData.data = "123"; System.out.println("check: " + baseXPortData.getG());