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网络编程示例(客户端与服务端)
Apr 24 Python
跟老齐学Python之有容乃大的list(1)
Sep 14 Python
使用Python的Flask框架构建大型Web应用程序的结构示例
Jun 04 Python
python基于物品协同过滤算法实现代码
May 31 Python
Python实现拷贝/删除文件夹的方法详解
Aug 29 Python
安装python3.7编译器后如何正确安装opnecv的方法详解
Jun 16 Python
浅谈keras中Dropout在预测过程中是否仍要起作用
Jul 09 Python
Python实现迪杰斯特拉算法过程解析
Sep 18 Python
python cookie反爬处理的实现
Nov 01 Python
Python APScheduler执行使用方法详解
Dec 10 Python
Python实现图片指定位置加图片水印(附Pyinstaller打包exe)
Mar 04 Python
python 利用 PIL 将数组值转成图片的实现
Apr 12 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
WAMP环境中扩展oracle函数库(oci)
2015/06/26 PHP
PHP编程 SSO详细介绍及简单实例
2017/01/13 PHP
PHP判断当前使用的是什么浏览器(推荐)
2019/10/27 PHP
js 绑定带参数的事件以及手动触发事件
2010/04/27 Javascript
javascript 通用loading动画效果实例代码
2014/01/14 Javascript
使用typeof判断function是否存在于上下文
2014/08/14 Javascript
javascript常见操作汇总
2014/09/03 Javascript
jQuery实现调整表格单列顺序完整实例
2016/06/20 Javascript
js封装成插件的步骤方法
2017/09/11 Javascript
vue2.0+ 从插件开发到npm发布的示例代码
2018/04/28 Javascript
vue鼠标移入添加class样式,鼠标移出去除样式(active)实现方法
2018/08/22 Javascript
JavaScript使用prototype原型实现的封装继承多态示例
2018/08/31 Javascript
vuejs数据超出单行显示更多,点击展开剩余数据实例
2019/05/05 Javascript
jquery实现简单自动轮播图效果
2020/07/29 jQuery
[01:01:24]LGD vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[48:48]完美世界DOTA2联赛PWL S3 Magama vs GXR 第一场 12.19
2020/12/24 DOTA
python计算最小优先级队列代码分享
2013/12/18 Python
python处理圆角图片、圆形图片的例子
2014/04/25 Python
python中实现迭代器(iterator)的方法示例
2017/01/19 Python
python操作redis方法总结
2018/06/06 Python
python爬虫获取小区经纬度以及结构化地址
2018/12/30 Python
python Gunicorn服务器使用方法详解
2019/07/22 Python
Python 爬虫实现增加播客访问量的方法实现
2019/10/31 Python
利用Python裁切tiff图像且读取tiff,shp文件的实例
2020/03/10 Python
python开发实例之Python的Twisted框架中Deferred对象的详细用法与实例
2020/03/19 Python
台湾乐天市场:日本No.1的网路购物网站
2017/03/22 全球购物
美国瑜伽服装和装备购物网站:Mukha Yoga
2019/02/22 全球购物
美国体育用品商店:Academy Sports + Outdoors
2020/01/04 全球购物
常用UNIX 命令(Linux的常用命令)
2015/12/26 面试题
幼教个人求职信范文
2013/12/02 职场文书
个性发展自我评价
2014/02/11 职场文书
校外活动方案
2014/08/28 职场文书
计划生育诚信协议书
2014/11/02 职场文书
高中数学教学反思范文
2016/02/18 职场文书
2019 入党申请书范文
2019/07/10 职场文书
css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效
2021/04/29 HTML / CSS