public String sign1(Map params){
JSONObject header= JSONObject.fromObject(params);
//获取header元素集合
Iterator headerIt = header.keys();
List<String> list = new ArrayList<String>();
//把header元素集合迭代 出 "param=value"形式字符串放入list集合中
while (headerIt.hasNext()) {
String param = headerIt.next().toString();
String value = header.getString(param);
if(value == null){
continue ;
}else if("".equals(value.trim())){
continue ;
}else if("sign".equals(param.trim())){
continue ;
}else{
list.add(param+"="+value);
}
}
Collections.sort(list);
String paramStr="";
//迭代list拼装签名sign
for(int i=0;i<list.size();i++){
if(i!=list.size()-1){
paramStr+=list.get(i)+"&";
}
else{
paramStr+=list.get(i);
}
}
String signStr =paramStr;
return signStr;
}
//参数
Map header = new HashMap();
header.put("b",b);
header.put("a",a);
//按字典排序
String unsign_params = sign1(header);
System.out.println("字典排序后参数串为:"+ unsign_params);
如果你是湖南的 欢迎加入 湖南人在深圳-Java群:557651502