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


     

  • 相关阅读:
    UVA 11019 Matrix Matcher ( 二维字符串匹配, AC自动机 || 二维Hash )
    蓝桥杯 修改数组 (巧用并查集)
    luoguP3242 [HNOI2015]接水果
    CF757F Team Rocket Rises Again
    luoguP2597 [ZJOI2012]灾难
    luoguP4103 [HEOI2014]大工程
    luoguP3233 [HNOI2014]世界树
    luoguP2495 [SDOI2011]消耗战
    CF613D Kingdom and its Cities
    51nod 1584 加权约数和
  • 原文地址:https://www.cnblogs.com/the-fool/p/11054069.html
Copyright © 2020-2023  润新知