|
@@ -12,25 +12,26 @@ public abstract class AbstractDesensitizationHandler<T extends Annotation> imple
|
|
|
int prefixKeep = (Integer) args[0];
|
|
|
int suffixKeep = (Integer) args[1];
|
|
|
String replacer = (String) args[2];
|
|
|
-
|
|
|
int length = origin.length();
|
|
|
|
|
|
- // 原始字符串长度小于等于保留长度,则原始字符串全部替换
|
|
|
+ // 情况一:原始字符串长度小于等于保留长度,则原始字符串全部替换
|
|
|
if (prefixKeep >= length || suffixKeep >= length) {
|
|
|
return buildReplacerByLength(replacer, length);
|
|
|
}
|
|
|
|
|
|
- // 如果原始字符串小于等于前后缀保留字符串长度,则原始字符串全部替换
|
|
|
+ // 情况二:如果原始字符串小于等于前后缀保留字符串长度,则原始字符串全部替换
|
|
|
if ((prefixKeep + suffixKeep) >= length) {
|
|
|
return buildReplacerByLength(replacer, length);
|
|
|
}
|
|
|
|
|
|
+ // 情况三:TODO 城
|
|
|
int interval = length - prefixKeep - suffixKeep;
|
|
|
return origin.substring(0, prefixKeep) +
|
|
|
buildReplacerByLength(replacer, interval) +
|
|
|
origin.substring(prefixKeep + interval);
|
|
|
}
|
|
|
|
|
|
+ // TODO @城:类似,子类直接获取到参数哈
|
|
|
/**
|
|
|
* 获取注解的参数
|
|
|
*
|
|
@@ -49,4 +50,5 @@ public abstract class AbstractDesensitizationHandler<T extends Annotation> imple
|
|
|
private String buildReplacerByLength(String replacer, int length) {
|
|
|
return String.valueOf(replacer).repeat(Math.max(0, length));
|
|
|
}
|
|
|
+
|
|
|
}
|