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+"&timestamp="+timestamp+"&url="+url; //System.out.println(DigestUtils.shaHex("jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg&noncestr=Wm3WZYTPz0wzccnW&timestamp=1414587457&url=http://mp.weixin.qq.com?params=value")); //微信返回的加密串 String signature=DigestUtils.shaHex(sign);//sha1加密 System.out.println(signature); } }

java map字典序_java中对map的字典序排序相关推荐

  1. java 定义map集合_Java中的Map集合

    Map集合: 个人感觉Map接口以后会经常用到,可以很清晰地查找某个对象,要熟悉其四种遍历方法.特别注意其键值对的键不能是重复的,有想定义有序存取的话,可以使用LinkedHashMap集合.不过定义 ...

  2. java map赋值_java 中的map怎么没有办法赋值?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 package cn.jado.framework.util; import java.io.BufferedReader; import java.io ...

  3. java中的map对象_java中遍历Map对象的四种方式

    import java.util.HashMap; import java.util.Map; /** * 遍历Map对象 * @author xiaosongsong: * @CreateTime ...

  4. 【Java 8 新特性】Java Comparator 在 SortedMap 中使用 | TreeMap 和 ConcurrentSkipListMap 排序

    Java Comparator 在 SortedMap 中使用 | TreeMap 和 ConcurrentSkipListMap 排序 在 TreeMap 中使用 在 ConcurrentSkipL ...

  5. java map遍历_Java中Map集合的两种遍历方式

    Java中的map遍历有多种方法,从最早的Iterator,到java5支持的foreach,再到java8 Lambda,让我们一起来看下Java中Map集合的两种遍历方式! 关于遍历Map集合的几 ...

  6. map java 初始化赋值_Java 中 HashMap 初始化时赋值(示例代码)

    1.HashMap 初始化的文艺写法 HashMap 是一种常用的数据结构,一般用来做数据字典或者 Hash 查找的容器.普通青年一般会这么初始化: HashMap map = new HashMap ...

  7. java中map类型_Java中Map类型遍历的两种方式对比

    Java中Map类型是存储键值对数据的类型,在编程过程经常使用,进行遍历操作对于每个Java程序员都不会模式,下面总结两种常用的遍历方式(一种keySet,一种entrySet),通过对比让你明白使用 ...

  8. java的map是什么_java中的map是什么

    java中的map是一种依照键存储元素的容器.在map中键可以是任意类型的对象.map中不能有重复的键,每个键都有一个对应的值. Map是一个集合,一种依照键(key)存储元素的容器,键(key)很像 ...

  9. java中map比较大小_java中对map根据value进行排序

    在利用map时,偶尔需要根据value的大小来进行排序,今天就遇到了.现在就把map根据value进行排序的方法在此记录. 1.声明一个hashmap对象Map map = new HashMap() ...

最新文章

  1. mysql-cluster 安装配置
  2. DPM 2007SRT及DPM 2010 BMR祼金属还原总结
  3. 五分钟教你在Go-Bigger中设计自己的游戏AI智能体
  4. 几何梯度分析神经网络中不可信预测性
  5. python基础技巧总结(四)
  6. 第一章信息安全基础考试要点及真题分布
  7. 【kafka】Kafka Producer Sticky Partitioner kafka 生产者 粘性 分区器
  8. 虫术python绝技_《圣济总录》
  9. 在线JSON在线对比差异工具
  10. java多线程学习-java.util.concurrent详解(五) ScheduledThreadPoolExecutor
  11. 回车(carriage return)和换行(line feed)的区别和来历
  12. 第 11 章 日志管理 - 090 - ELK 完整部署和使用
  13. java web自动化测试_Python和Java语言,哪个更适合做自动化测试?
  14. NPS之Socks流量分析以及未授权复现
  15. 如何解决python中文问题_布同:如何解决Python中文问题(总结了多位前人经验,初学者必看)...
  16. 什么时候,董明珠能成功卖给记者一部格力手机?
  17. Dubbo 3.0新特性记录
  18. 30 行代码实现蚂蚁森林自动偷能量
  19. ros实验操作——订阅者Subscriber的编程实现
  20. ShardingSphere介绍

热门文章

  1. Java集合(超详细-含源码)
  2. 微信小程序----icon组件
  3. 映射报错怎么解决 Ambiguous mapping. Cannot map ‘basicPersonStreamDataController‘ method
  4. gsoc 任务_我在GSoC'20中进行编码的第三周
  5. 常用的数据类型有哪些?简单数据类型与复杂数据类型之间的区别?
  6. Eclipse在线安装主题(color theme)以及安装color theme第三方主题(图文)
  7. S7-200SMART PLC中书签和交叉引用的具体使用方法示例
  8. 大端与小端字节数据详解
  9. -1-4 java io java流 常用流 分类 File类 文件 字节流 字符流 缓冲流 内存操作流 合并序列流...
  10. java循环求阶乘_在Java中用循环求阶乘