追加调用方法名

This commit is contained in:
yuejiajun 2025-10-16 11:26:44 +08:00
parent 89a2d2bfd1
commit e961490e8b

View File

@ -52,7 +52,7 @@ public class BaseXPortData implements Serializable {
private String s;
/**
* 完整性 gritty
* 完整性 gritty cvedata 四种数据组成 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());