java的字典序排序

利用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的字典序排序

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值