【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), "*"), "******"));
    }


 

原文地址:https://www.cnblogs.com/the-fool/p/11054069.html