| @@ -119,9 +119,8 @@ public class FuteUtil { | |||||
| private static String ProcBussiness(String url,Map<String,Object> param,String signKey) { | private static String ProcBussiness(String url,Map<String,Object> param,String signKey) { | ||||
| try { | try { | ||||
| String sign = sign(param, signKey); | |||||
| param.put("sign", sign); | |||||
| return Proc(url,param); | |||||
| String allUrl = signUrl(url,param, signKey); | |||||
| return Proc(allUrl,null); | |||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| log.error("fute request error.",e); | log.error("fute request error.",e); | ||||
| } | } | ||||
| @@ -173,24 +172,42 @@ public class FuteUtil { | |||||
| return result; | return result; | ||||
| } | } | ||||
| private static String sign(Map<String, Object> map, String signKey){ | |||||
| private static String signUrl(String url,Map<String, Object> map, String signKey){ | |||||
| if(map==null){ | if(map==null){ | ||||
| return null; | |||||
| return url; | |||||
| } | } | ||||
| if(map.containsKey("sign")) { | |||||
| map.remove("sign"); | |||||
| } | |||||
| List<String> keyList = new ArrayList<String>(map.keySet()); | |||||
| Collections.sort(keyList); | |||||
| StringBuffer sb = new StringBuffer(); | |||||
| for(int i=0;i<keyList.size();i++){ | |||||
| String key = keyList.get(i); | |||||
| Object value = map.get(key); | |||||
| sb.append(key+"="+value+"&"); | |||||
| } | |||||
| String signStr = (sb.substring(0,sb.length()-1)+signKey).toLowerCase(); | |||||
| String md5Str = MD5(signStr); | |||||
| return md5Str; | |||||
| try { | |||||
| if(map.containsKey("sign")) { | |||||
| map.remove("sign"); | |||||
| } | |||||
| List<String> keyList = new ArrayList<String>(map.keySet()); | |||||
| Collections.sort(keyList); | |||||
| StringBuffer signsb = new StringBuffer(); | |||||
| if (url.contains("?")) { | |||||
| url = url + "&"; | |||||
| }else { | |||||
| url = url + "?"; | |||||
| } | |||||
| StringBuffer urlsb = new StringBuffer(url); | |||||
| for(int i=0;i<keyList.size();i++){ | |||||
| String key = keyList.get(i); | |||||
| Object value = map.get(key); | |||||
| signsb.append(key+"="+value+"&"); | |||||
| if (value instanceof String) { | |||||
| urlsb.append(key+"="+URLEncoder.encode((String)value, "UTF-8")+"&"); | |||||
| }else { | |||||
| urlsb.append(key+"="+value+"&"); | |||||
| } | |||||
| } | |||||
| String signStr = (signsb.substring(0,signsb.length()-1)+signKey).toLowerCase(); | |||||
| String md5Str = MD5(signStr); | |||||
| urlsb.append("sign=").append(md5Str); | |||||
| return urlsb.toString(); | |||||
| } catch (Exception e) { | |||||
| log.error("fute request error.",e); | |||||
| } | |||||
| return url; | |||||
| } | } | ||||
| /** | /** | ||||