【commons-lang3工具】JAVA脫敏工具


前言:commons-langbao中有很多方便的工具,無需我們自己去實現,能夠節省很多開發時的問題:

1、工具包,引入依賴,jDK8對應的版本如下:

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.5</version>
        </dependency>

2、代碼:

import org.apache.commons.lang3.StringUtils;

 

 /**
     * 姓名脫敏
     * @param userName
     * @param index
     * @return
     */
    public static String hideName(String userName,int index) {
        if (StringUtils.isBlank(userName)) {
            return "";
        }
        String name = StringUtils.left(userName, index);
        return StringUtils.rightPad(name, StringUtils.length(userName), "*");
    }

    /**
     * 身份證脫敏
     * @param cardNo
     * @param index
     * @param end
     * @return
     */
    public static String hideCerCardNum(String cardNo,int index,int end) {
        if (StringUtils.isBlank(cardNo)) {
            return "";
        }
        return StringUtils.left(cardNo, index).concat(StringUtils.removeStart(StringUtils.leftPad(StringUtils.right(cardNo, end), StringUtils.length(cardNo), "*"), "***"));
    }

    /**電話脫敏
     *
     * @param phoneNum
     * @param end
     * @return
     */
    public static String hidePhone(String phoneNum,int end) {
        if (StringUtils.isBlank(phoneNum)) {
            return "";
        }
        return StringUtils.leftPad(StringUtils.right(phoneNum, end), StringUtils.length(phoneNum), "*");
    }
    /**
     * 郵箱脫敏
     * @param email
     * @return
     */
    public static String email(String email) {
        if (StringUtils.isBlank(email)) {
            return "";
        }
        int index = StringUtils.indexOf(email, "@");
        if (index <= 1){
            return email;
        }
        else{
            return StringUtils.rightPad(StringUtils.left(email, 1), index, "*").concat(StringUtils.mid(email, index, StringUtils.length(email))); 
        }
            
    }

    /**
     * 銀行卡號脫敏
     * @param cardNum
     * @return
     */
    public static String bankCard(String cardNum) {
        if (StringUtils.isBlank(cardNum)) {
            return "";
        }
        return StringUtils.left(cardNum, 4).concat(StringUtils.removeStart(StringUtils.leftPad(StringUtils.right(cardNum, 4), StringUtils.length(cardNum), "*"), "******"));
    }


 

 


免責聲明!

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



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