task-190: 日志脱敏契约(StructuredLog.maskToken 统一 Token 部分脱敏,ImageVideo maskForLog 委托;URL query/异常消息体不入日志、防注入)+ 8 条测试
This commit is contained in:
@@ -54,6 +54,18 @@ public final class StructuredLog {
|
||||
return result.isEmpty() ? MISSING : result;
|
||||
}
|
||||
|
||||
/** 统一 Token 部分脱敏:≤10 位全打码,长 token 保留前6+后4,中间 ***(与既有 maskForLog 一致)。 */
|
||||
public static String maskToken(String value) {
|
||||
if (value == null || value.isBlank()) {
|
||||
return "";
|
||||
}
|
||||
String text = value.trim();
|
||||
if (text.length() <= 10) {
|
||||
return "***";
|
||||
}
|
||||
return text.substring(0, 6) + "***" + text.substring(text.length() - 4);
|
||||
}
|
||||
|
||||
/**
|
||||
* 按规范字段集渲染 key=value 串:仅输出规范字段、顺序固定,缺失字段用占位符,
|
||||
* 避免不同日志字段漂移。
|
||||
|
||||
Reference in New Issue
Block a user