Python实现加密接口测试方法步骤详解


Posted in Python onJune 05, 2020

加密接口怎么测试?

(1)写个函数或者方法,把要加密的参数使用这个函数过滤一遍,等于就是说把数据丢进去,加密了之后,再通过这个加密好的
数据传输过去就可以了!!

(2)至于用什么加密算法,这个要根据产品和自己的业务场景和需求不管是AES或者公钥私钥也好看自己的选择

(3)也可能是编码的问题,就直接用base64码把需要传输加密的东西通过base64返回base64码,然后再放进去,然后再进行传输

(4)这是编码不是加密,真的要加密的话,首先把要用的参数加好密之后再被传输出去,传输的过程中把传输的数据进行一次加密和封装之后再发送过去

(5)用jmeter做接口测试用post-processor加beanshell进行加密解密,再从日志中查找参数,然后具体的加密算法要看需求

(6)每个测试工具提供的加密算法是不一样的,工具不一样加密算法也是不一样的

(7)如果不用工具的话应该怎么做?==》看如下的代码

#coding=utf-8
"""
===========================
Author:多测师_王sir
Time:2020/6/2 10:12
Wechat:15367499889
Company:上海多测师信息有限公司
===========================
"""

import requests
import hashlib
import json

# 组建接口
# 第一步:拿到接口入参==》2个参数
# data 必须参数,对应的值是正常传递的参数组装成json字符串,组装的json字符串里面必须包含appId,
# sign 必须参数,对应得值是data值得md5值。
BASE_URL = 'http://118.24.XXX.XXX:8080/api/login?'
appId=4001
code='033qdUtz0LcJsc19tZxz09cTtz0qdUt6'
app_secret_key='dc6e426478b2d29a8e1ad70eb48660f4'


# 第二步:组装data参数
data={"appId":4001,"code":"033qdUtz0LcJsc19tZxz09cTtz0qdUt6"}
# a = str(data)
# print a
# b = '{'+a[45:58] + ','+a[1:43]+'}'
# print b

# 第三步:组装加密字符串拿到sign签名
value = 'data={"appId":4001,"code":"033qdUtz0LcJsc19tZxz09cTtz0qdUt6"}&key=dc6e426478b2d29a8e1ad70eb48660f4'
md5 = hashlib.md5()
md5.update(value)
sign = md5.hexdigest()
print sign

# 第四步:发送接口请求
dic = {"data":'{"appId":4001,"code":"033qdUtz0LcJsc19tZxz09cTtz0qdUt6"}',"sign":sign}
params = {
  "code":'033qdUtz0LcJsc19tZxz09cTtz0qdUt6',
  "params":json.dumps(dic)
}
response = requests.get(url=BASE_URL,params=params)
print response.text
print response.url接口返回结果:{"data":"b363e1c071d84757bf164121bad91ede","statusCode":"200"}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用socket连接远程服务器的方法
Apr 29 Python
python的keyword模块用法实例分析
Jun 30 Python
django中的setting最佳配置小结
Nov 21 Python
mac系统安装Python3初体验
Jan 02 Python
Python快速查找list中相同部分的方法
Jun 27 Python
详解Python 切片语法
Jun 10 Python
详解Python 字符串相似性的几种度量方法
Aug 29 Python
python 普通克里金(Kriging)法的实现
Dec 19 Python
Python调用shell命令常用方法(4种)
May 11 Python
Keras之自定义损失(loss)函数用法说明
Jun 10 Python
Python TestSuite生成测试报告过程解析
Jul 23 Python
python urllib库的使用详解
Apr 13 Python
基于python 将列表作为参数传入函数时的测试与理解
Jun 05 #Python
python 引用传递和值传递详解(实参,形参)
Jun 05 #Python
Python检测端口IP字符串是否合法
Jun 05 #Python
Python如何基于Tesseract实现识别文字功能
Jun 05 #Python
如何导出python安装的所有模块名称和版本号到文件中
Jun 05 #Python
在python中list作函数形参,防止被实参修改的实现方法
Jun 05 #Python
pycharm远程连接vagrant虚拟机中mariadb数据库
Jun 05 #Python
You might like
使用phpQuery获取数组的实例
2017/03/13 PHP
Mozilla 表达式 __noSuchMethod__
2009/04/05 Javascript
Javascript模块化编程(一)AMD规范(规范使用模块)
2013/01/17 Javascript
JavaScript操纵窗口的方法小结
2013/06/28 Javascript
JS中使用Array函数shift和pop创建可忽略参数的例子
2014/05/28 Javascript
JavaScript字符串对象substr方法入门实例(用于截取字符串)
2014/10/16 Javascript
Javascript 实现图片无缝滚动
2014/12/19 Javascript
JavaScript调用浏览器打印功能实例分析
2015/07/17 Javascript
jquery实现二级导航下拉菜单效果
2015/12/18 Javascript
JS给Array添加是否包含字符串的简单方法
2016/10/29 Javascript
JQuery 封装 Ajax 常用方法(推荐)
2017/05/21 jQuery
VUE中的无限循环代码解析
2017/09/22 Javascript
JavaScript直接调用函数与call调用的区别实例分析
2020/05/22 Javascript
JavaScript 获取滚动条位置并将页面滑动到锚点
2021/02/08 Javascript
Python科学计算环境推荐——Anaconda
2014/06/30 Python
在Python中使用第三方模块的教程
2015/04/27 Python
Python使用xlrd模块操作Excel数据导入的方法
2015/05/26 Python
Python结合ImageMagick实现多张图片合并为一个pdf文件的方法
2018/04/24 Python
django允许外部访问的实例讲解
2018/05/14 Python
selenium获取当前页面的url、源码、title的方法
2019/06/12 Python
Python字符串和正则表达式中的反斜杠('\')问题详解
2019/09/03 Python
pytorch如何冻结某层参数的实现
2020/01/10 Python
Python基于数列实现购物车程序过程详解
2020/06/09 Python
详细分析Python垃圾回收机制
2020/07/01 Python
pycharm 添加解释器的方法步骤
2020/08/31 Python
如何在python中处理配置文件代码实例
2020/09/27 Python
python模拟点击在ios中实现的实例讲解
2020/11/26 Python
使用html5 canvas 画时钟代码实例分享
2015/11/11 HTML / CSS
TripAdvisor瑞典:全球领先的旅游网站
2017/12/11 全球购物
地球上最先进的胡子和头发修剪器:Bevel
2018/01/23 全球购物
主题婚礼策划方案
2014/02/10 职场文书
党小组意见范文
2015/06/08 职场文书
导游词之蜀山胜景瓦屋山
2019/11/29 职场文书
python+opencv实现视频抽帧示例代码
2021/06/11 Python
分布式架构Redis中有哪些数据结构及底层实现原理
2022/03/13 Redis
电脑开机弹出documents文件夹怎么回事?弹出documents文件夹解决方法
2022/04/08 数码科技