java对字段进行脱敏处理

80 阅读1分钟

在项目中有很多的场景需要展示信息,但为了保护数据的安全性,会对某些字段进行脱敏处理。写一个脱敏的类记录一下。

/**
* 脱敏类
*/
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("脱敏错误");
       }
     }
   }
}

记录两个方法,别的都类似就不贴上来了。根据传入的方法名匹配到具体的方法即可;