您的位置:首页 > 其它

将手机号,银行卡,身份证只显示前三位和后四位。为了保护用户的信息

2016-03-01 15:59 387 查看
  /*

     * 隐藏中间位,首尾各保留3位

     * @param map 传入Map集合

     * @param key 传入需要加密value所对应map中的key数组

     * @return map 返回处理后的Map

     */

    public static Map<String, String> infoEncryption(Map<String, String> map,String ...key){

     

     try {

   if(key == null || key.length<1 || map == null || map.isEmpty())

    return map;

   for(int i=0;i<key.length;i++){

    String value = map.get(key[i]);

    if(StringUtils.isEmpty(value)||value.length()<10){

     continue;

    }else{

     map.put(key[i], BankCardUtil.hideMiddleExtend(value));

    }

   }

   return map;

  } catch (Exception e) {

   return null;

  }

 }

 public static String hideMiddleExtend(String number) {

        Preconditions.checkArgument(number.length() > 10);

        int startCount = number.length() - 6;

        StringBuilder sbBuilder = new StringBuilder("*");

        for (int i = 1; i < startCount; i++) {

            sbBuilder.append("*");

        }

        return StringUtils.overlay(number, sbBuilder.toString(), 3, number.length() - 3);

    }

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: