zoukankan      html  css  js  c++  java
  • 通用脱敏工具类

    一、脱敏工具类

    package com.imooc.utils;
    
    import sun.applet.Main;
    
    /**
     * 通用脱敏工具类
     * 可用于:
     *      用户名
     *      手机号
     *      邮箱
     *      地址等
     */
    public class DesensitizationUtil {
    
        private static final int SIZE = 6;
        private static final String SYMBOL = "*";
    
        public static void main(String[] args) {
            String name = commonDisplay("慕课网");
            String mobile = commonDisplay("13900000000");
            String mail = commonDisplay("admin@imooc.com");
            String address = commonDisplay("北京大运河东路888号");
    
            System.out.println(name);
            System.out.println(mobile);
            System.out.println(mail);
            System.out.println(address);
        }
    
        /**
         * 通用脱敏方法
         * @param value
         * @return
         */
        public static String commonDisplay(String value) {
            if (null == value || "".equals(value)) {
                return value;
            }
            int len = value.length();
            int pamaone = len / 2;
            int pamatwo = pamaone - 1;
            int pamathree = len % 2;
            StringBuilder stringBuilder = new StringBuilder();
            if (len <= 2) {
                if (pamathree == 1) {
                    return SYMBOL;
                }
                stringBuilder.append(SYMBOL);
                stringBuilder.append(value.charAt(len - 1));
            } else {
                if (pamatwo <= 0) {
                    stringBuilder.append(value.substring(0, 1));
                    stringBuilder.append(SYMBOL);
                    stringBuilder.append(value.substring(len - 1, len));
    
                } else if (pamatwo >= SIZE / 2 && SIZE + 1 != len) {
                    int pamafive = (len - SIZE) / 2;
                    stringBuilder.append(value.substring(0, pamafive));
                    for (int i = 0; i < SIZE; i++) {
                        stringBuilder.append(SYMBOL);
                    }
                    if ((pamathree == 0 && SIZE / 2 == 0) || (pamathree != 0 && SIZE % 2 != 0)) {
                        stringBuilder.append(value.substring(len - pamafive, len));
                    } else {
                        stringBuilder.append(value.substring(len - (pamafive + 1), len));
                    }
                } else {
                    int pamafour = len - 2;
                    stringBuilder.append(value.substring(0, 1));
                    for (int i = 0; i < pamafour; i++) {
                        stringBuilder.append(SYMBOL);
                    }
                    stringBuilder.append(value.substring(len - 1, len));
                }
            }
            return stringBuilder.toString();
        }
    
    }
    View Code

    二、使用

    @Transactional(propagation = Propagation.SUPPORTS)
        @Override
        public PagedGridResult queryPagedComments(String itemId,
                                                      Integer level,
                                                      Integer page,
                                                      Integer pageSzie) {
            Map<String,Object> map =new HashMap<>();
            map.put("itemId",itemId);
            map.put("level",level);
            /**
             * page:第几页
             * pageSize:每页显示多少条
             */
            PageHelper.startPage(page,pageSzie);
            List<ItemCommentVO> list=itemsMapperCustom.queryItemComments(map);
            for (ItemCommentVO vo : list
                 ) {
                  vo.setNickName(DesensitizationUtil.commonDisplay(vo.getNickName()));
            }
            return setterPagedGrid(list,page);
    
        }
    View Code
  • 相关阅读:
    what are Datatypes in SQLite supporting android
    Version of SQLite used in Android?
    使用(Drawable)资源———ShapeDrawable资源
    使用(Drawable)资源——LayerDrawable资源
    使用(Drawable)资源——StateListDrawable资源
    使用(Drawable)资源——图片资源
    数组(Array)资源
    使用字符串、颜色、尺寸资源
    资源的类型及存储方式——使用资源
    资源的类型及存储方式——资源的类型以及存储方式
  • 原文地址:https://www.cnblogs.com/callbin/p/14489321.html
Copyright © 2011-2022 走看看