/*** Description:MD5工具生成token* @param value* @return*/
public String getMD5Value(String value){try {MessageDigest messageDigest = MessageDigest.getInstance("MD5");byte[] md5ValueByteArray = messageDigest.digest(value.getBytes());BigInteger bigInteger = new BigInteger(1 , md5ValueByteArray);return bigInteger.toString(16).toUpperCase();} catch (Exception e) {throw new RuntimeException(e);}
}
/*** 生成签名* @param map* @return*/
public String getSignToken(Map<String, String> map) {String result = "";try {List<Map.Entry<String, String>> infoIds = new ArrayList<Map.Entry<String, String>>(map.entrySet());// 对所有传入参数按照字段名的 ASCII 码从小到大排序(字典序)Collections.sort(infoIds, new Comparator<Map.Entry<String, String>>() {public int compare(Map.Entry<String, String> o1, Map.Entry<String, String> o2) {return (o1.getKey()).toString().compareTo(o2.getKey());}});// 构造签名键值对的格式StringBuilder sb = new StringBuilder();for (Map.Entry<String, String> item : infoIds) {if (item.getKey() != null || item.getKey() != "") {String key = item.getKey();String val = item.getValue();if (!(val == "" || val == null)) {sb.append(key + "=" + val + "&");}}}result = sb.toString();//进行MD5加密result = getMD5Value(result);} catch (Exception e) {return null;}return result;
}

Map集合Key 按照ASCII码从小到大(字典序)排序相关推荐

  1. acill排序 java_Map集合按照ASCII码从小到大(字典序)排序--JAVA

    以下代码:将传参按照ASCII 码字典序排序,并将生成的字符串进行MD5加密 /** * Description:MD5工具生成token * @param value * @return */ pu ...

  2. ASCII码从小到大排序(字典序)

    签名生成的通用步骤如下: 设所有发送或者接收到的数据为集合M,将集合M内的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=valu ...

  3. 微信字典排序java_【支付宝,微信支付必备】Java实现url参数按照参数名ASCII码从小到大排序(字典序)...

    /** * * 方法用途: 对所有传入参数按照字段名的 ASCII 码从小到大排序(字典序),并且生成url参数串 * 实现步骤: * * @param paraMap 要排序的Map对象 * @pa ...

  4. C# 参数按照ASCII码从小到大排序(字典序)

    在对接第三方支付的时候,第三方会要求参数按照ASCII码从小到大排序.如下: public static void requestPay(){Dictionary<string, string& ...

  5. c语言字母从小到大,C语言编程:输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。...

    ASCII码从小到大的顺序输出这三个字符的源代码如下: #include< stdio.h> void main() { char a,s,c; char max,min; printf( ...

  6. python生成签名sign(按照字典中的key的ascii码排序加上对应的key转换成url形式生成md5签名)

    Python签名 按照字典中的key的ascii码排序加上对应的key转换成url形式生成md5签名 请求参数(参数字典) parm = {"UnionId":"8888 ...

  7. c语言中字符如何转数字排序,常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字。对..,(c语言)输入三个字符后,按各字符的ASCII码从小到大的顺...

    导航:网站首页 > 常用字符的ASCII码值从小到大的排列规律是:空格.阿拉伯数字.对..,(c语言)输入三个字符后,按各字符的ASCII码从小到大的顺 常用字符的ASCII码值从小到大的排列规 ...

  8. 将字符串下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出

    <程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p92 5.1.2 上级实训内容 [实训内容7]设有一个字符串为baawrskjghzlicda,将字符 ...

  9. Java基础学习系列--(六)【Map集合,HashMapTreeMap,斗地主、图书管理系统,排序算法】

    第一章 Map集合 1.1 概述 现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等,这种一一对应的关系,就叫做映射.Java提供了专门的集合类用来存 ...

  10. PHP 参数名ASCII码从小到大排序(字典序)

    function ASCII($params = array()){//ksort()对数组按照键名进行升序排序ksort($params);//reset()内部指针指向数组中的第一个元素reset ...

最新文章

  1. linux下性能分析命令[总结]
  2. iOS 9应用开发教程之ios9中实现按钮的响应
  3. Spring学习笔记:Spring整合Mybatis(mybatis-spring.jar)(二:mybatis整合spring)
  4. bilibili深入理解计算机系统笔记(2):第一次代码重构,汇编模拟器,递归,指令周期实现。
  5. 单例-重写new方法
  6. React开发(263):react中处理时间的判断
  7. 博客内容优化的经验分享
  8. RestClientException: Could not extract response: no suitable HttpMessageConverter found for response
  9. ArcGis 地理配准注意事项
  10. 低效程序员的九个坏习惯
  11. 学术论文写作之引言(Introduction)怎么写
  12. deepin 安装最新snap商店
  13. ios addressbook
  14. int函数使用方法c语言,int函数(int函数的使用方法举例)
  15. 【Java基础】重写equals方法详讲
  16. Eclipse单独设置注释字体加粗
  17. 永远不怕IE主页地址被修改
  18. 计算机应用基础cct,计算机一级(CCT)模拟选择题及答案
  19. 如果收到这条短信,直接删除,是病毒!
  20. 第一个月实习总结 [大三四八九月实习]

热门文章

  1. MATLAB常用画图命令汇总【已坑】
  2. 我的世界1.12.2java下载_我的世界1.12.2forge下载
  3. vb.net VS2010编程
  4. 【资源下载】PCtoLCD2002 下载 资源分享 OLED取模软件
  5. 此更新不适用你的计算机
  6. css 样式面板,CSS样式面板.ppt
  7. C语言数据结构之管道浅析
  8. java 回调函数实现_Java实现的回调函数
  9. MCMC算法大统一: Involutive MCMC
  10. 海量监控视频如何存储?