4 changed files with 141 additions and 5 deletions
@ -0,0 +1,67 @@ |
|||
package com.zdxt.enforcementcode.common.commonenum; |
|||
|
|||
import lombok.AllArgsConstructor; |
|||
import lombok.Getter; |
|||
|
|||
import java.util.Arrays; |
|||
|
|||
/** |
|||
* 数据完整性校验结果枚举 crypto_integrity_data.verify_result |
|||
* <p> |
|||
* 状态 2 与 4 必须严格区分: 2 为确认篡改(基线锁定拒绝自动覆盖, 须人工核查), |
|||
* 4 为程序缺陷或脏数据导致的校验异常(非篡改, 代码修复后允许重建基线) |
|||
* |
|||
* @author zrb |
|||
*/ |
|||
@Getter |
|||
@AllArgsConstructor |
|||
public enum VerifyResultEnum { |
|||
|
|||
/** |
|||
* 未校验(摘要生成/刷新后的初始态) |
|||
*/ |
|||
UNVERIFIED(0, "未校验"), |
|||
|
|||
/** |
|||
* 校验通过(当前值与基线摘要一致) |
|||
*/ |
|||
PASSED(1, "校验通过"), |
|||
|
|||
/** |
|||
* 校验失败, 疑似篡改(基线锁定, doSaveIntegrityHash 拒绝自动覆盖) |
|||
*/ |
|||
TAMPERED(2, "校验失败(篡改)"), |
|||
|
|||
/** |
|||
* 业务数据不存在或已删除, 跳过校验(不判为篡改) |
|||
*/ |
|||
SKIPPED(3, "数据不存在(跳过)"), |
|||
|
|||
/** |
|||
* 校验过程异常(程序缺陷或脏数据, 非篡改, 代码修复后允许重建基线) |
|||
*/ |
|||
ERROR(4, "校验异常(程序缺陷, 非篡改)"); |
|||
|
|||
private final Integer code; |
|||
private final String info; |
|||
|
|||
/** |
|||
* 根据 code 解析枚举 |
|||
* |
|||
* @param code 状态码 |
|||
* @return 对应枚举; 未匹配返回 null |
|||
*/ |
|||
public static VerifyResultEnum fromCode(Integer code) { |
|||
return Arrays.stream(values()) |
|||
.filter(e -> e.code.equals(code)) |
|||
.findFirst() |
|||
.orElse(null); |
|||
} |
|||
|
|||
/** |
|||
* 判断是否为给定状态码 |
|||
*/ |
|||
public boolean is(Integer code) { |
|||
return this.code.equals(code); |
|||
} |
|||
} |
|||
@ -0,0 +1,67 @@ |
|||
package org.dromara.system.common.enmu; |
|||
|
|||
import lombok.AllArgsConstructor; |
|||
import lombok.Getter; |
|||
|
|||
import java.util.Arrays; |
|||
|
|||
/** |
|||
* 数据完整性校验结果枚举 crypto_integrity_data.verify_result |
|||
* <p> |
|||
* 状态 2 与 4 必须严格区分: 2 为确认篡改(基线锁定拒绝自动覆盖, 须人工核查), |
|||
* 4 为程序缺陷或脏数据导致的校验异常(非篡改, 代码修复后允许重建基线) |
|||
* |
|||
* @author zrb |
|||
*/ |
|||
@Getter |
|||
@AllArgsConstructor |
|||
public enum VerifyResultEnum { |
|||
|
|||
/** |
|||
* 未校验(摘要生成/刷新后的初始态) |
|||
*/ |
|||
UNVERIFIED(0, "未校验"), |
|||
|
|||
/** |
|||
* 校验通过(当前值与基线摘要一致) |
|||
*/ |
|||
PASSED(1, "校验通过"), |
|||
|
|||
/** |
|||
* 校验失败, 疑似篡改(基线锁定, doSaveIntegrityHash 拒绝自动覆盖) |
|||
*/ |
|||
TAMPERED(2, "校验失败(篡改)"), |
|||
|
|||
/** |
|||
* 业务数据不存在或已删除, 跳过校验(不判为篡改) |
|||
*/ |
|||
SKIPPED(3, "数据不存在(跳过)"), |
|||
|
|||
/** |
|||
* 校验过程异常(程序缺陷或脏数据, 非篡改, 代码修复后允许重建基线) |
|||
*/ |
|||
ERROR(4, "校验异常(程序缺陷, 非篡改)"); |
|||
|
|||
private final Integer code; |
|||
private final String info; |
|||
|
|||
/** |
|||
* 根据 code 解析枚举 |
|||
* |
|||
* @param code 状态码 |
|||
* @return 对应枚举; 未匹配返回 null |
|||
*/ |
|||
public static VerifyResultEnum fromCode(Integer code) { |
|||
return Arrays.stream(values()) |
|||
.filter(e -> e.code.equals(code)) |
|||
.findFirst() |
|||
.orElse(null); |
|||
} |
|||
|
|||
/** |
|||
* 判断是否为给定状态码 |
|||
*/ |
|||
public boolean is(Integer code) { |
|||
return this.code.equals(code); |
|||
} |
|||
} |
|||
Loading…
Reference in new issue