java map字典序_java中对map的字典序排序
java中对map的字典序排序,算法验证比对微信官网https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115&token=&lang=zh_CN,搜索关键字“附录1-JS-SDK使用权限签名算法”
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import org.apache.commons.codec.digest.DigestUtils;
import com.opensymphony.xwork2.ActionSupport;
public class Test extends ActionSupport {
//测试页面
public String test(){
return SUCCESS;
}
public static void main(String [] args){
String jsapi_ticket="kgt8ON7yVITDhtdwci0qef4Fd1u2d2iWwTE-nt2tSR7Me3FmWAhtxJa3QQCiMdLper4cUrqpDxkDJ6ljLgc7PA";
int timestamp=1460637652;
String nonceStr="C1WNnEpCwq4wa158";
String url="http://qq.test.com/test/index.html";
//字典序排序
HashMap map=new HashMap();
map.put("jsapi_ticket", jsapi_ticket);
map.put("timestamp", timestamp+"");
map.put("nonceStr", nonceStr);
map.put("url", url);
Collection keyset= map.keySet();
List list=new ArrayList(keyset);
Collections.sort(list);
//这种打印出的字符串顺序和微信官网提供的字典序顺序是一致的
for(int i=0;i
System.out.println(list.get(i)+"="+map.get(list.get(i)));
}
//微信官网写的按照字典序排序后的字符串 String sign="jsapi_ticket="+jsapi_ticket+"&noncestr="+nonceStr+"×tamp="+timestamp+"&url="+url; //System.out.println(DigestUtils.shaHex("jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg&noncestr=Wm3WZYTPz0wzccnW×tamp=1414587457&url=http://mp.weixin.qq.com?params=value")); //微信返回的加密串 String signature=DigestUtils.shaHex(sign);//sha1加密 System.out.println(signature); } }
java map字典序_java中对map的字典序排序相关推荐
- java 定义map集合_Java中的Map集合
Map集合: 个人感觉Map接口以后会经常用到,可以很清晰地查找某个对象,要熟悉其四种遍历方法.特别注意其键值对的键不能是重复的,有想定义有序存取的话,可以使用LinkedHashMap集合.不过定义 ...
- java map赋值_java 中的map怎么没有办法赋值?
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 package cn.jado.framework.util; import java.io.BufferedReader; import java.io ...
- java中的map对象_java中遍历Map对象的四种方式
import java.util.HashMap; import java.util.Map; /** * 遍历Map对象 * @author xiaosongsong: * @CreateTime ...
- 【Java 8 新特性】Java Comparator 在 SortedMap 中使用 | TreeMap 和 ConcurrentSkipListMap 排序
Java Comparator 在 SortedMap 中使用 | TreeMap 和 ConcurrentSkipListMap 排序 在 TreeMap 中使用 在 ConcurrentSkipL ...
- java map遍历_Java中Map集合的两种遍历方式
Java中的map遍历有多种方法,从最早的Iterator,到java5支持的foreach,再到java8 Lambda,让我们一起来看下Java中Map集合的两种遍历方式! 关于遍历Map集合的几 ...
- map java 初始化赋值_Java 中 HashMap 初始化时赋值(示例代码)
1.HashMap 初始化的文艺写法 HashMap 是一种常用的数据结构,一般用来做数据字典或者 Hash 查找的容器.普通青年一般会这么初始化: HashMap map = new HashMap ...
- java中map类型_Java中Map类型遍历的两种方式对比
Java中Map类型是存储键值对数据的类型,在编程过程经常使用,进行遍历操作对于每个Java程序员都不会模式,下面总结两种常用的遍历方式(一种keySet,一种entrySet),通过对比让你明白使用 ...
- java的map是什么_java中的map是什么
java中的map是一种依照键存储元素的容器.在map中键可以是任意类型的对象.map中不能有重复的键,每个键都有一个对应的值. Map是一个集合,一种依照键(key)存储元素的容器,键(key)很像 ...
- java中map比较大小_java中对map根据value进行排序
在利用map时,偶尔需要根据value的大小来进行排序,今天就遇到了.现在就把map根据value进行排序的方法在此记录. 1.声明一个hashmap对象Map map = new HashMap() ...
最新文章
- mysql-cluster 安装配置
- DPM 2007SRT及DPM 2010 BMR祼金属还原总结
- 五分钟教你在Go-Bigger中设计自己的游戏AI智能体
- 几何梯度分析神经网络中不可信预测性
- python基础技巧总结(四)
- 第一章信息安全基础考试要点及真题分布
- 【kafka】Kafka Producer Sticky Partitioner kafka 生产者 粘性 分区器
- 虫术python绝技_《圣济总录》
- 在线JSON在线对比差异工具
- java多线程学习-java.util.concurrent详解(五) ScheduledThreadPoolExecutor
- 回车(carriage return)和换行(line feed)的区别和来历
- 第 11 章 日志管理 - 090 - ELK 完整部署和使用
- java web自动化测试_Python和Java语言,哪个更适合做自动化测试?
- NPS之Socks流量分析以及未授权复现
- 如何解决python中文问题_布同:如何解决Python中文问题(总结了多位前人经验,初学者必看)...
- 什么时候,董明珠能成功卖给记者一部格力手机?
- Dubbo 3.0新特性记录
- 30 行代码实现蚂蚁森林自动偷能量
- ros实验操作——订阅者Subscriber的编程实现
- ShardingSphere介绍
热门文章
- Java集合(超详细-含源码)
- 微信小程序----icon组件
- 映射报错怎么解决 Ambiguous mapping. Cannot map ‘basicPersonStreamDataController‘ method
- gsoc 任务_我在GSoC'20中进行编码的第三周
- 常用的数据类型有哪些?简单数据类型与复杂数据类型之间的区别?
- Eclipse在线安装主题(color theme)以及安装color theme第三方主题(图文)
- S7-200SMART PLC中书签和交叉引用的具体使用方法示例
- 大端与小端字节数据详解
- -1-4 java io java流 常用流 分类 File类 文件 字节流 字符流 缓冲流 内存操作流 合并序列流...
- java循环求阶乘_在Java中用循环求阶乘