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自动化部署工具Fabric的简单上手指南
Apr 19 Python
PYQT5设置textEdit自动滚屏的方法
Jun 14 Python
解析Python3中的Import
Oct 13 Python
复化梯形求积分实例——用Python进行数值计算
Nov 20 Python
python小白切忌乱用表达式
May 29 Python
python字典的值可以修改吗
Jun 29 Python
用sleep间隔进行python反爬虫的实例讲解
Nov 30 Python
Python中BeautifulSoup通过查找Id获取元素信息
Dec 07 Python
python 实现客户端与服务端的通信
Dec 23 Python
python基础之文件操作
Oct 24 Python
用Python可视化新冠疫情数据
Jan 18 Python
使用Python拟合函数曲线
Apr 14 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
php制作unicode解码工具(unicode编码转换器)代码分享
2013/12/24 PHP
php实现常见图片格式的水印和缩略图制作(面向对象)
2016/06/15 PHP
浅析jQuery中常用的元素查找方法总结
2013/07/04 Javascript
js showModalDialog弹出窗口实例详解
2014/01/07 Javascript
javascript数组排序汇总
2015/07/07 Javascript
JavaScript实现的微信二维码图片生成器的示例
2016/10/26 Javascript
微信小程序 引用其他js文件实现代码
2017/02/22 Javascript
jacascript DOM节点——元素节点、属性节点、文本节点
2017/04/18 Javascript
JavaScript模拟实现封装的三种方式及写法区别
2017/10/27 Javascript
JQ图片文件上传之前预览功能的简单实例(分享)
2017/11/12 Javascript
swiper插件自定义切换箭头按钮
2017/12/28 Javascript
jQuery替换节点元素的操作方法
2018/03/18 jQuery
nodejs取得当前执行路径的方法
2018/05/13 NodeJs
vue中实现上传文件给后台实例详解
2019/08/22 Javascript
JSONP 的原理、理解 与 实例分析
2020/05/16 Javascript
JavaScript如何实现图片处理与合成
2020/05/29 Javascript
[54:41]2018DOTA2亚洲邀请赛3月30日 小组赛B组 VGJ.T VS paiN
2018/03/31 DOTA
[42:32]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第二场 11.27
2020/12/01 DOTA
Python中用于检查英文字母大写的isupper()方法
2015/05/19 Python
python实现随机漫步算法
2018/08/27 Python
pytorch 批次遍历数据集打印数据的例子
2019/12/30 Python
python print 格式化输出,动态指定长度的实现
2020/04/12 Python
python实现扑克牌交互式界面发牌程序
2020/04/22 Python
涂鸦板简单实现 Html5编写属于自己的画画板
2016/07/05 HTML / CSS
HTML5中的拖放实现详解
2017/08/23 HTML / CSS
美国第二大连锁书店:Books-A-Million
2017/12/28 全球购物
免税水晶:Duty Free Crystal
2019/05/13 全球购物
Dr. Martens马汀博士德国官网:马丁靴鼻祖
2019/12/26 全球购物
会计岗位职责
2013/11/08 职场文书
珍惜水资源建议书
2014/03/12 职场文书
环保建议书200字
2014/05/14 职场文书
2014年法院个人工作总结
2014/12/17 职场文书
电影开国大典观后感
2015/06/04 职场文书
2019入党申请书格式和范文
2019/06/25 职场文书
祝福语集锦:朋友新店开业祝福语
2019/12/10 职场文书
golang elasticsearch Client的使用详解
2021/05/05 Golang