zoukankan      html  css  js  c++  java
  • 【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), "*"), "******"));
        }


     

  • 相关阅读:
    7. Reverse Integer
    4. Median of Two Sorted Arrays
    微服务实战系列(四)-注册中心springcloud alibaba nacos-copy
    微服务实战系列(五)-注册中心Eureka与nacos区别-copy
    Restful、SOAP、RPC、SOA、微服务之间的区别-copy
    从SOA到RPC、SOAP、REST-copy
    spring-session实现分布式集群session的共享-copy
    深入理解 RESTful Api 架构-copy
    RESTful 架构详解-copy
    SpringBoot使用MyBatis-Generator详解-copy
  • 原文地址:https://www.cnblogs.com/the-fool/p/11054069.html
Copyright © 2011-2022 走看看