脱密工具类——隐藏手机号、身份证号码等

 

我们在开发中为了用户的隐私,需要将一些信息隐藏,例如隐藏手机号中间四位等。

import org.apache.commons.lang3.StringUtils;

public class EncryptUtils {
    
    // 手机号码前三后四脱敏
    public static String mobileEncrypt(String mobile){
        if(StringUtils.isEmpty(mobile) || mobile.length()!=11){
            return mobile;
        }
        return mobile.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2");
    }
    
    // 身份证前三后四脱敏
    public static String idCardEncrypt(String idCard){
        if(StringUtils.isEmpty(idCard) || (idCard.length() != 15 && idCard.length() != 18)){
            return idCard;
        }
        return idCard.replaceAll("(?<=\\w{3})\\w(?=\\w{4})", "*");
    }
    
    // 姓名第一位脱敏(不考虑复姓,特殊姓氏)
    public static String nameEncrypt(String name){
        if(StringUtils.isEmpty(name) || name.length() < 1){
            return name;
        }
        return name.replaceAll("(?<=[\\u4e00-\\u9fa5]{1})[\\u4e00-\\u9fa5]", "*");
    }
    
}

 

posted @ 2020-06-09 10:44  山水花草  阅读(1291)  评论(0编辑  收藏  举报