在项目中有很多的场景需要展示信息,但为了保护数据的安全性,会对某些字段进行脱敏处理。写一个脱敏的类记录一下。
/**
* 脱敏类
*/
public class DesensitizationUtil {
public static String desensitization(String str, String methodName) {
String newStr = "";
String oldStr = String.valueOf(str);
if (StringUtils.isBlank(str)) {
return oldStr;
}
try {
switch (methodName) {
case "bankCard":
newStr = oldStr.replaceAll("(\\w{4})\\w*(\\w{4}", "$1***********$2");
break;
case "name":
String name = StringUtils.left(oldStr, 1);
newStr = StringUtils.rightPad(name, StringUtils.lenth(oldStr), "*");
break;
default:
//打印错误
System.out.print("暂无此脱敏方法");
} catch (Exception e) {
//打印错误
System.out.print("脱敏错误");
}
}
}
}
记录两个方法,别的都类似就不贴上来了。根据传入的方法名匹配到具体的方法即可;