要达到的目的:

app每个请求里面 请求头都带有一个 sign 的参数,

他的值是通过 开发自己设计的拼接方式 再通过md5加密生成

我们就是要生成这个sign的值出来

准备:

和开发要到签名组成公式:  这里公司具体的签名算法已在我的百度云盘有详细讲解

注意: 这里最后的拼接公式是 body(里的请求参数)+uid+token+version+time+"ibroker-wpd"

body里面有多个参数&连接  (注意 这里自己踩了一个坑,没有加&,并且要按首字母大小排序)

后记:

(踩坑)

用python写的时候忘记请求参数是用=号去拼接,用了:号 尴尬

用BeanShell  写 md5的java 函数写法:

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

String MD5(String s) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] bytes = md.digest(s.getBytes("utf-8"));
return toHex(bytes);
}
catch (Exception e) {
throw new RuntimeException(e);
}
}

String toHex(byte[] bytes) {

final char[] HEX_DIGITS = "0123456789abcdef".toCharArray();
StringBuilder ret = new StringBuilder(bytes.length * 2);
for (int i=0; i<bytes.length; i++) {
ret.append(HEX_DIGITS[(bytes[i] >> 4) & 0x0f]);
ret.append(HEX_DIGITS[bytes[i] & 0x0f]);
}
return ret.toString();
}

String params = "version=1";
String md5_src= params+vars.get("uid")+vars.get("token")+vars.get("app_version")+vars.get("timestamp")+vars.get("sign_salt");
//log.info("md5_src:"+md5_src);
String result = MD5(md5_src);
//log.info("md5:"+result);
vars.put("sign",result);

踩坑: version=1 其实是 请求体参数里的请求参数 要使用&拼接

最后的组成:(注意要使用後置的beanshell)

源码和这个jmeter文件,存在在了我的百度云盘里面。

jmetr _MD5加密_获取签名的更多相关文章

  1. 一篇搞定RSA加密与SHA签名|与Java完全同步

    基础知识 什么是RSA?答:RSA是一种非对称加密算法,常用来对传输数据进行加密,配合上数字摘要算法,也可以进行文字签名. RSA加密中padding?答:padding即填充方式,由于RSA加密算法 ...

  2. 转:微信开发之使用java获取签名signature(贴源码,附工程)

    微信开发之使用java获取签名signature(贴源码,附工程) 标签: 微信signature获取签名 2015-12-29 22:15 6954人阅读 评论(3) 收藏 举报  分类: 微信开发 ...

  3. 微信开发之使用java获取签名signature(贴源码,附工程)

    一.前言 微信接口调用验证最终需要用到的三个参数noncestr.timestamp.signature: 接下来将会给出获取这三个参数的详细代码 本文的环境eclipse + maven 本文使用到 ...

  4. 【转】C#中RSA加密解密和签名与验证的实现

    [转]C#中RSA加密解密和签名与验证的实现 RSA加密算法是一种非对称加密算法.在公钥加密标准和电子商业中RSA被广泛使用.RSA是1977年由罗纳德•李维斯特(Ron Rivest).阿迪•萨莫尔 ...

  5. BZOJ_1712_[Usaco2007 China]Summing Sums 加密_矩阵乘法

    BZOJ_1712_[Usaco2007 China]Summing Sums 加密_矩阵乘法 Description     那N只可爱的奶牛刚刚学习了有关密码的许多算法,终于,她们创造出了属于奶牛 ...

  6. 微信js-sdk开发获取签名和获取地理位置接口示例

    ###微信js-sdk开发获取签名和获取地理位置接口示例 前言:在做微信公众号开发时需要获取用户的地理位置信息,之前通过高德或者百度.腾讯等地图的api时发现经常获取不到,毕竟第三方的东西,后来改为采 ...

  7. Android apk签名详解——AS签名、获取签名信息、系统签名、命令行签名

    Apk签名,每一个Android开发者都不陌生.它就是对我们的apk加了一个校验参数,防止apk被掉包.一开始做Android开发,就接触到了apk签名:后来在微信开放平台.高德地图等平台注册时,需要 ...

  8. Python获取当前时间_获取格式化时间_格式化日期

    Python获取当前时间_获取格式化时间: Python获取当前时间: 使用 time.time( ) 获取到距离1970年1月1日的秒数(浮点数),然后传递给 localtime 获取当前时间 #使 ...

  9. Java使用RSA加密解密及签名校验

    该工具类中用到了BASE64,需要借助第三方类库:javabase64-1.3.1.jar注意:RSA加密明文最大长度117字节,解密要求密文最大长度为128字节,所以在加密和解密的过程中需要分块进行 ...

随机推荐

  1. hdu2732

    题解: 和上一题差不多 然后注意格式 代码: #include<cstdio> #include<cmath> #include<algorithm> #inclu ...

  2. Maven入门-2.Maven一些核心概念介绍

    1.Maven仓库2.Maven坐标3.Maven插件和目标4.Maven生命周期4.1 clean:清理项目4.2 default:构建项目(重要)4.3 site:建立项目站点 1.Maven仓库 ...

  3. 201621123005《Java程序设计》第四周学习总结

    201621123005<Java程序设计>第四周学习总结 标签(空格分隔): 1.本章学习总结 1. 面向对象设计 1.1 写出你认为本周学习中比较重要的知识点关键词 继承.多态.覆盖. ...

  4. IGMP技术总结

    转载自:IGMP技术总结 本博客(http://blog.csdn.net/livelylittlefish)贴出作者(三二一.小鱼)相关研究.学习内容所做的笔记,欢迎广大朋友指正! 1.  IGMP ...

  5. L167

  6. 数据仓库(Data Warehouse)建设

    数据仓库初体验 数据库仓库架构以前弄的很简单:将各种源的数据统一汇聚到DW中,DW没有设计,只是将所有数据汇聚起来: ETL也很简单,只是将数据同步到DW中,只是遇到BUG时,处理一些错误数据,例如: ...

  7. java android 读写三菱PLC 使用TCP/IP 协议

    本文将使用一个Github开源的组件库技术来读写三菱PLC和西门子plc数据,使用的是基于以太网的TCP/IP实现,不需要额外的组件,读取操作只要放到后台线程就不会卡死线程,本组件支持超级方便的高性能 ...

  8. 【剑指offer12】矩阵中的路径(回朔法),C++实现

    1.题目 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子.如果一条路径经过了矩阵中 ...

  9. [转载][QT][SQL]sql学习记录6_sqlite Autoincrement(自动递增)

    转载自:定义以及示例请见 : http://www.runoob.com/sqlite/sqlite-autoincrement.html SQLite Autoincrement(自动递增) SQL ...

  10. HDU - 6214:Smallest Minimum Cut(最小割边最小割)

    Consider a network G=(V,E) G=(V,E) with source s s and sink t t . An s-t cut is a partition of nodes ...