| | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 判断签名的正确性 Android version>50 |
| | | * |
| | | * @param request |
| | | * @return |
| | | */ |
| | | private boolean signIsRight(HttpServletRequest request, AcceptData acceptData) { |
| | | Map<String, String[]> map = request.getParameterMap(); |
| | | Iterator<String> its = map.keySet().iterator(); |
| | | List<String> list = new ArrayList<>(); |
| | | |
| | | while (its.hasNext()) { |
| | | String key = its.next(); |
| | | if (key.equalsIgnoreCase("sign") || key.equalsIgnoreCase("callback") || key.equalsIgnoreCase("_")) { |
| | | continue; |
| | | } |
| | | String[] values = map.get(key); |
| | | list.add(key + "=" + values[0]); |
| | | } |
| | | Collections.sort(list); |
| | | String str = ""; |
| | | for (String st : list) { |
| | | str += st + "&"; |
| | | } |
| | | String key = systemConfigService.getValueCache(acceptData.getSystem(), SystemConfigKey.signKey); |
| | | String sign = StringUtil.Md5(str + key); |
| | | if (sign.equalsIgnoreCase(request.getParameter("sign") + "")) { |
| | | return true; |
| | | } else { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | |
| | | } |