直接从HttpServletRequest中转换成按字母排序的map,进行验签加密

public  Map getParameterMap(HttpServletRequest request) {
   // 参数Map
   Map properties = request.getParameterMap();
   // 返回值Map
   Map returnMap = new TreeMap();
   Iterator entries = properties.entrySet().iterator();
   Map.Entry entry;
   String name = "";
   String value = "";
   while (entries.hasNext()) {
      entry = (Map.Entry) entries.next();
      name = (String) entry.getKey();
      if(!"sign".equals(name)){
         Object valueObj = entry.getValue();
         if(null == valueObj){
            value = "";
         }else if(valueObj instanceof String[]){
            String[] values = (String[])valueObj;
            for(int i=0;i<values.length;i++){
               value = values[i] + ",";
            }
            value = value.substring(0, value.length()-1);
         }else if(valueObj instanceof Long[]){
            Long[] values = (Long[])valueObj;
            for(int i=0;i<values.length;i++){
               value = values[i] + ",";
            }
            value = value.substring(0, value.length()-1);
         }else if(valueObj instanceof int[]){
            int[] values = (int[])valueObj;
            for(int i=0;i<values.length;i++){
               value = values[i] + ",";
            }
            value = value.substring(0, value.length()-1);
         }
         else{
            value = valueObj.toString();
         }
         returnMap.put(name, value);
      }
   }
   return returnMap;
}

 

遇到坑:前端传入数组,接收的变量Long[] ,导致加密验签失败

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值