利用java自带的方法实现字典序排序
public static void main(String [] args){
/*
* 规则描述
*1. 将token、timestamp、nonce三个参数进行字典序排序
*2. 将三个参数字符串拼接成一个字符串进行sha1加密
*3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信
*/
String signature=”0f829ac4e6689efbd338abda4c090f90bab60725″;
String timestamp=”1455868453″;
String nonce=”1677866950″;
String token=”weixin”;
ArrayList<String> list=new ArrayList<String>();
list.add(nonce);
list.add(timestamp);
list.add(token);
Collections.sort(list);
System.out.println(DigestUtils.shaHex(list.get(0)+list.get(1)+list.get(2)));
//微信返回的加密串
String signature=”0f829ac4e6689efbd338abda4c090f90bab60725″;
System.out.println(signature2);
}
控制台输出:
0f829ac4e6689efbd338abda4c090f90bab60725
0f829ac4e6689efbd338abda4c090f90bab60725
当然,或许你遇到了需要使用字段名+字段值的字典序排序,没关系,用下面的方法