当前位置: 代码迷 >> 综合 >> 直接从HttpServletRequest中转换成按字母排序的map,进行验签加密
  详细解决方案

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

热度:33   发布时间:2023-10-17 06:42:19.0
public  Map getParameterMap(HttpServletRequest request) {// 参数MapMap properties = request.getParameterMap();// 返回值MapMap 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[] ,导致加密验签失败