zoukankan      html  css  js  c++  java
  • 信息脱敏

    package com.wisoft.tysfrz.utils;
    
    
    public class SensitiveInfoUtils {
        private static final int SIZE = 6;
        private static final String SYMBOL = "*";
        @SuppressWarnings("unused")
        public static String toConceal(String value) {
            if (null == value || "".equals(value)) {
                return value;
            }
            value = value.replace("@", "").replace("-", "");
            int len = value.length();
            int pamaone = len / 2;
            int pamatwo = pamaone - 1;
            int pamathree = len % 2;
            StringBuilder stringBuilder = new StringBuilder();
            if (len == 2) {//两个字的姓名
                stringBuilder.append(value.substring(0, 1)+SYMBOL);
                return stringBuilder.toString();
            }
            if (len == 3) {//三个字的姓名
                stringBuilder.append(value.substring(0, 1)+SYMBOL+SYMBOL);
                return stringBuilder.toString();
            }
            if (len == 18) {//18位身份证号码
                stringBuilder.append(value.substring(0, SIZE));
                for (int i = 0; i < 8; i++) {
                    stringBuilder.append(SYMBOL);
                }
                stringBuilder.append(value.substring(len-4));
                return stringBuilder.toString();
            }
            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();
        }
        public static void main(String args[]) {
            String zoneCode = PropertiesUtil.getValue("system.zoneCode");
            System.out.println(zoneCode);
            String str = "329323198009132424";
            String strname1 = "15123569859";
            String strname2 = "张三";
            String strname3 = "张三四风";
            String strname4 = "张三风";
            String strname5 = "张";
            String strname6 = "jaddy1@1256.com";
            System.out.println(SensitiveInfoUtils.toConceal(str));
            System.out.println(SensitiveInfoUtils.toConceal(strname1));
            System.out.println(SensitiveInfoUtils.toConceal(strname2));
            System.out.println(SensitiveInfoUtils.toConceal(strname3));
            System.out.println(SensitiveInfoUtils.toConceal(strname4));
            System.out.println(SensitiveInfoUtils.toConceal(strname5));
            System.out.println(SensitiveInfoUtils.toConceal(strname6));
        }
    }
  • 相关阅读:
    性能测试二十四:环境部署之Redis多实例部署
    性能测试二十三:环境部署之Redis安装和配置
    性能测试二十二:环境部署之Nginx
    性能测试二十一:环境部署之mysql
    性能测试二十:环境部署之Tomcat多实例部署+日志监控
    性能测试十九:jmeter参数优化+排错
    Zookeeper学习
    Zookeeper学习
    Zookeeper学习
    Hadoop Balancer源码解读
  • 原文地址:https://www.cnblogs.com/jassy/p/7509105.html
Copyright © 2011-2022 走看看