Java數據脫敏


手機號脫敏:

11位手機號中間四位脫敏顯示,例如:187****1234

這樣處理有2中方法,a:substring來分割  b:正則驗證

 public static void main(String[] args) {
        String phone = "13123456789";
        String phoneNumber = phone.substring(0, 3) + "****" + phone.substring(7, phone.length());
        System.out.println("phone總長度:" + phone.length());
        System.out.println("phone前3位:" + phone.substring(0, 3));
        System.out.println("phone中4位:" + phone.substring(3, 7));
        System.out.println("phone后4位:" + phone.substring(7, phone.length()));
        System.out.println("phone中4*:" + phoneNumber);
     }

 

public class DataMaskingUtils{
    //匹配規則
    private static final String REGEX_OF_PHONE = "(^\\d{3})\\d.*(\\d{4}$)";
    //替換規則
    private static final String RRPLAGE_OF_PHONE = "$1****$2";
    
    /**
     * 手機號脫敏 153****8736
     * @param phone
     */
     public static Stirng phoneMasking(String phone){
         if(!StringUtils.isEmpty(phone)){
             return phone.replaceAll(REGEX_OF_PHONE, REPLACE_OF_PHONE);
         }
         return null;
     }
}

身份證號脫敏

public class DataMaskingUtils{
    //匹配規則
    private static final Stirng REGEX_OF_ID="(^\\d{3})\\d.*(\\d{4}$)";
    
    //替換規則
    private static final String REPLACE_OF_ID="$1********$2";
    
    /**
     * 身份證號脫敏 511********9768
     * @param id 身份證號
     */
     public static Stirng idMasking(String id){
         if(!StringUtils.isEmpty(id)){
             return id.replaceAll(REGEX_OF_ID, REPLACE_OF_ID);
         }
         return null;
     }
}

郵箱賬號脫敏

public class DataMaskingUtils{
    //匹配規則
    private static final String REGEX_OF_EMAIL="(^\\S)\\S.*(@)";
    
    //替換規則
    private static final String REPLACE_OF_EMAIL="$1***$2";
    
    /**
     * 郵箱賬號脫敏 k***@qq.com
     * @param email 郵箱賬號
     */
     public static Stirng emailMasking(String email){
         if(!StringUtils.isEmpty(email)){
             return email.replaceAll(REGEX_OF_EMAIL, REPLACE_OF_EMAIL);
         }
         return null;
     }
}

銀行卡號脫敏

public class DataMaskingUtils{
    //匹配規則
    private static final String REGEX_OF_CARD="(^\\d{4})\\d.*(\\d{3}$)";
    
    //替換規則
    private static final String REPLCACE_OF_CARD="$1********$2";
    
    /**
     * 銀行卡號脫敏 5647********928
     * @param card 銀行卡號
     */
     public static Stirng cardMasking(String card){
         if(!StringUtils.isEmpty(card)){
             return card.replaceAll(REGEX_OF_CARD, REPLCACE_OF_CARD);
         }
         return null;
     }
}

姓名脫敏

public class DataMaskingUtils{
    //匹配規則
    private static final String REGEX_OF_NAME="(^\\S\\S.*";
    
    //替換規則
    private static final String REPLACE_OF_NAME="$1**";
    
    /**
     * 姓名脫敏 趙**
     * @param name 姓名
     */
     public static Stirng nameMasking(String name){
         if(!StringUtils.isEmpty(name)){
             return name.replaceAll(REGEX_OF_NAME, REPLACE_OF_NAME);
         }
         return null;
     }
}

姓名脫敏處理,規則:3個字以內脫敏第一個字,4—6個字脫敏前兩個字,大於6個字脫敏第3—6個字,示例:張三(*三)、張三水(*三水)、長孫無忌(**無忌)、羅斯托羅司機格(羅斯XXXX格)

    function noPassByName(str){
        if(null != str && str != undefined){
            if(str.length <= 3){
                return "*" + str.substring(1,str.length);
            } else if(str.length > 3 && str.length <= 6){
                return "**" + str.substring(2,str.length);
            } else if(str.length > 6){
                return str.substring(0,2) + "****" + str.substring(6,str.length)
            }
        } else {
            return "";
        }
    }

微信號脫敏

public class DataMaskingUtils{
    //匹配規則
    private static final String REGEX_OF_WECHAT="(^\\S\\S.*";
    
    //替換規則
    private static final String REPLACE_OF_WECHAT="$1***";
    
    /**
     * 微信賬號脫敏 k***
     * @param weChat 微信賬號
     */
     public static Stirng weChatMasking(String weChat){
         if(!StringUtils.isEmpty(weChat)){
             return weChat.replaceAll(REGEX_OF_WECHAT, REPLACE_OF_WECHAT);
         }
         return null;
     }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM