博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
生成签名
阅读量:5746 次
发布时间:2019-06-18

本文共 1270 字,大约阅读时间需要 4 分钟。

hot3.png

本签名采用MD5加密,对参数按升序排列,使用&连接参数生成,具体代码如下:

/* * createSignFromRequest * @description:根据request请求对参数生成签名 * @author 李阳 * @date 2018/8/11 14:20 * @params [request] * @return java.lang.String */public static String createSignFromRequest(HttpServletRequest request) {    Map
params = request.getParameterMap(); ArrayList
keys = new ArrayList<>(params.keySet()); Collections.sort(keys); StringBuffer sb = new StringBuffer(); for (int i = 0; i < keys.size(); i++) { String key = keys.get(i); String value = request.getParameter(key); if (!key.equals("sign") && StringUtils.isNotBlank(value)) { sb.append("&").append(key).append("=").append(value); } } return getMD5(sb.toString().replaceFirst("&", ""));}/* * getMD5 * @description:md5 * @author 李阳 * @date 2018/8/11 14:20 * @params [str] * @return java.lang.String */public static String getMD5(String str) { try { // 生成一个MD5加密计算摘要 MessageDigest md = MessageDigest.getInstance("MD5"); // 计算md5函数 md.update(str.getBytes()); return new BigInteger(1, md.digest()).toString(16); } catch (Exception e) { e.printStackTrace(); return null; }

转载于:https://my.oschina.net/kevin2kelly/blog/1926228

你可能感兴趣的文章
java.lang.UnsatisfiedLinkError:no dll in java.library.path终极解决之道
查看>>
我的工具:文本转音频文件
查看>>
【许晓笛】从零开始运行EOS系统
查看>>
【跃迁之路】【460天】程序员高效学习方法论探索系列(实验阶段217-2018.05.11)...
查看>>
C++入门读物推荐
查看>>
TiDB 源码阅读系列文章(七)基于规则的优化
查看>>
面试中会遇到的正则题
查看>>
Spring之旅第八站:Spring MVC Spittr舞台的搭建、基本的控制器、请求的输入、表单验证、测试(重点)...
查看>>
数据结构与算法——常用排序算法及其Java实现
查看>>
你所不知的Webpack-多种配置方法
查看>>
React.js 集成 Kotlin Spring Boot 开发 Web 应用实例详解
查看>>
webpack+typescript+threejs+vscode开发
查看>>
python读excel写入mysql小工具
查看>>
如何学习区块链
查看>>
搜索问题的办法
查看>>
微信分销系统商城营销5大重点
查看>>
求职准备 - 收藏集 - 掘金
查看>>
htm5新特性(转)
查看>>
Linux-Centos启动流程
查看>>
php 设计模式
查看>>