Map集合Key 按照ASCII码从小到大(字典序)排序
/*** 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码从小到大(字典序)排序相关推荐
- acill排序 java_Map集合按照ASCII码从小到大(字典序)排序--JAVA
以下代码:将传参按照ASCII 码字典序排序,并将生成的字符串进行MD5加密 /** * Description:MD5工具生成token * @param value * @return */ pu ...
- ASCII码从小到大排序(字典序)
签名生成的通用步骤如下: 设所有发送或者接收到的数据为集合M,将集合M内的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=valu ...
- 微信字典排序java_【支付宝,微信支付必备】Java实现url参数按照参数名ASCII码从小到大排序(字典序)...
/** * * 方法用途: 对所有传入参数按照字段名的 ASCII 码从小到大排序(字典序),并且生成url参数串 * 实现步骤: * * @param paraMap 要排序的Map对象 * @pa ...
- C# 参数按照ASCII码从小到大排序(字典序)
在对接第三方支付的时候,第三方会要求参数按照ASCII码从小到大排序.如下: public static void requestPay(){Dictionary<string, string& ...
- c语言字母从小到大,C语言编程:输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。...
ASCII码从小到大的顺序输出这三个字符的源代码如下: #include< stdio.h> void main() { char a,s,c; char max,min; printf( ...
- python生成签名sign(按照字典中的key的ascii码排序加上对应的key转换成url形式生成md5签名)
Python签名 按照字典中的key的ascii码排序加上对应的key转换成url形式生成md5签名 请求参数(参数字典) parm = {"UnionId":"8888 ...
- c语言中字符如何转数字排序,常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字。对..,(c语言)输入三个字符后,按各字符的ASCII码从小到大的顺...
导航:网站首页 > 常用字符的ASCII码值从小到大的排列规律是:空格.阿拉伯数字.对..,(c语言)输入三个字符后,按各字符的ASCII码从小到大的顺 常用字符的ASCII码值从小到大的排列规 ...
- 将字符串下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出
<程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p92 5.1.2 上级实训内容 [实训内容7]设有一个字符串为baawrskjghzlicda,将字符 ...
- Java基础学习系列--(六)【Map集合,HashMapTreeMap,斗地主、图书管理系统,排序算法】
第一章 Map集合 1.1 概述 现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等,这种一一对应的关系,就叫做映射.Java提供了专门的集合类用来存 ...
- PHP 参数名ASCII码从小到大排序(字典序)
function ASCII($params = array()){//ksort()对数组按照键名进行升序排序ksort($params);//reset()内部指针指向数组中的第一个元素reset ...
最新文章
- linux下性能分析命令[总结]
- iOS 9应用开发教程之ios9中实现按钮的响应
- Spring学习笔记:Spring整合Mybatis(mybatis-spring.jar)(二:mybatis整合spring)
- bilibili深入理解计算机系统笔记(2):第一次代码重构,汇编模拟器,递归,指令周期实现。
- 单例-重写new方法
- React开发(263):react中处理时间的判断
- 博客内容优化的经验分享
- RestClientException: Could not extract response: no suitable HttpMessageConverter found for response
- ArcGis 地理配准注意事项
- 低效程序员的九个坏习惯
- 学术论文写作之引言(Introduction)怎么写
- deepin 安装最新snap商店
- ios addressbook
- int函数使用方法c语言,int函数(int函数的使用方法举例)
- 【Java基础】重写equals方法详讲
- Eclipse单独设置注释字体加粗
- 永远不怕IE主页地址被修改
- 计算机应用基础cct,计算机一级(CCT)模拟选择题及答案
- 如果收到这条短信,直接删除,是病毒!
- 第一个月实习总结 [大三四八九月实习]