数据脱敏 /** * 数据脱敏 存在风险 */ public String desensitization(String data, int i) { if (i data.length()) { System.out.println("指定位置大于脱敏字符串长度"); return data; } //有风险 会将同样字符 替换为
/**
* 数据脱敏 存在风险
*/
public String desensitization(String data, int i) {
if (i > data.length()) {
System.out.println("指定位置大于脱敏字符串长度");
return data;
}
//有风险 会将同样字符 替换为 *
return data.replace(data.charAt(i - 1), '*');
}
/**
* 数据脱敏 如果只需要替换一位 那么 head 和 foot填写一致即可
*/
public String desensitization(String data, int head, int foot) {
//如果 头 大于 尾,那么头尾互换
if (head > foot) {
int index = foot;
foot = head;
head = index;
}
String data1 = data.substring(0, head - 1);
String data2 = data.substring(foot - 1, data.length());
int i = foot - head;
StringBuilder stringBuilder = new StringBuilder("*");
while (i > 0) {
stringBuilder.append("*");
i--;
}
return data1 + stringBuilder.toString() + data2;
}
