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


     

  • 相关阅读:
    30分钟全面解析-SQL事务+隔离级别+阻塞+死锁
    apache 不执行PHP,显示代码
    ERROR 1406 : Data too long for column 解决办法
    apache下php无法解析直接显示源代码解
    win7系统,apache2.2下添加PHP5的配置详解
    apache 添加到windows服务
    升级3.2.3后 could not find driver
    Windows server 2008搭建php运行环境
    MySQL 5.6 for Windows 解压缩版配置安装
    Linux vi/vim替换命令的使用说明[转]
  • 原文地址:https://www.cnblogs.com/the-fool/p/11054069.html
Copyright © 2011-2022 走看看