Java-信息脱敏

一、姓名脱敏

/**
     * 姓脱敏
     * @param name
     * @return
     */
    public static String nameDesensitization(String name) {
        if(!StringUtils.hasLength(name)) {
            return name;
        }
        char[] sArr = name.toCharArray();
        if (sArr.length == 2) {
            return sArr[0]+"**";
        } else if (sArr.length  > 2) {
            for (int i = 1; i < sArr.length ; i++) {
                // if ('·' != sArr[i]) {
                sArr[i] = '*';
                // }
            }
            return new String(sArr);
        }
        return name;
    }

结果图:

Java-信息脱敏_第1张图片

二、手机号码脱敏

**
 * 手机号码前三后四脱敏
 * @param number
 * @return
 */
public static String mobileNumber(String number) {
if (!StringUtils.hasLength(number) || (number.length() != 11)) {
return number;
    }
return number.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2");
}

结果图:

Java-信息脱敏_第2张图片

三、工具类

public class InfoUtil {

    /**
     * 姓脱敏
     * @param name
     * @return
     */
    public static String nameDesensitization(String name) {
        if(!StringUtils.hasLength(name)) {
            return name;
        }
        char[] sArr = name.toCharArray();
        if (sArr.length == 2) {
            return sArr[0]+"**";
        } else if (sArr.length  > 2) {
            for (int i = 1; i < sArr.length ; i++) {
                // if ('·' != sArr[i]) {
                sArr[i] = '*';
                // }
            }
            return new String(sArr);
        }
        return name;
    }

    /**
     * 手机号码前三后四脱敏
     * @param number
     * @return
     */
    public static String mobileNumber(String number) {
        if (!StringUtils.hasLength(number) || (number.length() != 11)) {
            return number;
        }
        return number.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2");
    }

}

你可能感兴趣的:(java)