java的字典序排序

bestcxx發表於2016-01-25

利用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


當然,或許你遇到了需要使用欄位名+欄位值的字典序排序,沒關係,用下面的方法

java中對map的字典序排序

相關文章