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


     

  • 相关阅读:
    fastDFS同步问题讨论
    Android开发(26)--补间动画(Tween)的实现
    android布局
    Linux特殊权限:SUID、SGID、SBIT
    如何使用ssh-keygen生成key
    Linux中环境变量到底写在哪个文件中?解析login shell 和 no-login shell
    使用ssh无密码登录
    github中的ssh配置
    PHP中的一个很好用的文件上传类
    [置顶] js模板方法的思路及实现
  • 原文地址:https://www.cnblogs.com/the-fool/p/11054069.html
Copyright © 2011-2022 走看看