以下代码:将传参按照ASCII 码字典序排序,并将生成的字符串进行MD5加密

/**

* 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 map) {

String result = "";

try {

List> infoIds = new ArrayList>(map.entrySet());

// 对所有传入参数按照字段名的 ASCII 码从小到大排序(字典序)

Collections.sort(infoIds, new Comparator>() {

public int compare(Map.Entry o1, Map.Entry o2) {

return (o1.getKey()).toString().compareTo(o2.getKey());

}

});

// 构造签名键值对的格式

StringBuilder sb = new StringBuilder();

for (Map.Entry 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;

}

acill排序 java_Map集合按照ASCII码从小到大(字典序)排序--JAVA相关推荐

  1. python字符串按ascii码排序_C# 字符串按 ASCII码 排序的方法

    在和银行做数据对接时,涉及到数据传输时的验签及加密.其中数据签名方案中就要求数据项根据属性名按 ASCII码 进行升序排序.C#中的ASCII码排序并不是表面上那么简单,一不小心就入坑了.因为C#的排 ...

  2. c# 字典按ascii 排序_C# 字符串按 ASCII码 排序的方法

    在和银行做数据对接时,涉及到数据传输时的验签及加密.其中数据签名方案中就要求数据项根据属性名按 ASCII码 进行升序排序.C#中的ASCII码排序并不是表面上那么简单,一不小心就入坑了.因为C#的排 ...

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

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

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

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

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

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

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

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

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

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

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

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

  9. 【java集合框架源码剖析系列】java源码剖析之ArrayList

    注:博主java集合框架源码剖析系列的源码全部基于JDK1.8.0版本. 本博客将从源码角度带领大家学习关于ArrayList的知识. 一ArrayList类的定义: public class Arr ...

最新文章

  1. 听说redux和react-redux在写项目中更配哦
  2. Output Operations on DStreams
  3. python snmp采集交换机信息_智慧工厂工业交换机网络运维管理系统
  4. Python3位运算符
  5. 前端学习(2527):功能展示
  6. UITableView 系列五 :自定义UITableViewCell (实例)
  7. 【MYSQL笔记】修改表
  8. Linux配置防火墙,开启80端口、3306端口
  9. vm.$nextTick( [callback] )用法
  10. 【Typecho插件】Typecho百度主动推送插件
  11. ubuntu报错:RuntimeError : unexcepted EOF, excepted 2599001 more bytes. The file might be corrupted.
  12. python股票交易接口是什么_python 股票交易接口【怎样用 Python 写一个股票自动交易的程序】...
  13. java英文参考文献_java英文参考文献
  14. 【毕业设计】 大数据二手房数据爬取与分析可视化 -python 数据分析 可视化
  15. windows录屏_电脑录屏软件哪个好用?试试这个专业方法
  16. 完全用Linux工作——来自人人网分享
  17. Python分析香港26281套在售二手房数据!寸土寸金啊!
  18. EXCEL_VBA_抱歉,无法找到…….xlam。是否可能被移动、重命名或删除?
  19. 红猫linux系统下载教程,RedCat_NSS_红猫linux软路由安装使用手册.doc
  20. 微信公众号怎么管理粉丝用户-微信公众号使用教程13

热门文章

  1. 1.极限——例子_2
  2. think php5关联模型,thinkphp5的模型中使用关联
  3. 2017.9.19 禁忌 失败总结
  4. Android中VectorDrawable与SVG
  5. 全方位了解超宽带信号高速采集记录回放系统
  6. python定时发送微信消息_Python3 itchat实现微信定时发送群消息的实例代码
  7. flask-mail异步发送邮件_使用 python 发送邮件
  8. android不同机型编译不同so,如何使用adb命令查看android中的数据库
  9. 关于 Apple Metal API 的一些想法
  10. angular1.x 中重要指令介绍($eval,$parse和$compile)