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 29 Python
解决python3 urllib中urlopen报错的问题
Mar 25 Python
python随机取list中的元素方法
Apr 08 Python
Python实现按中文排序的方法示例
Apr 25 Python
python和pygame实现简单俄罗斯方块游戏
Feb 19 Python
Selenium元素的常用操作方法分析
Aug 10 Python
python tkinter库实现气泡屏保和锁屏
Jul 29 Python
Python greenlet和gevent使用代码示例解析
Apr 01 Python
解决matplotlib.pyplot在Jupyter notebook中不显示图像问题
Apr 22 Python
基于Python绘制个人足迹地图
Jun 01 Python
Python3爬虫里关于Splash负载均衡配置详解
Jul 10 Python
Python Pygame实战之塔防游戏的实现
Mar 17 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删除特定数组内容并且重建数组索引的方法.
2011/03/25 PHP
php下载文件源代码(强制任意文件格式下载)
2014/05/09 PHP
PHP 读取和编写 XML
2014/11/19 PHP
php把字符串指定字符分割成数组的方法
2018/03/12 PHP
html 锁定页面(js遮罩层弹出div效果)
2009/10/27 Javascript
ExtJS下grid的一些属性说明
2009/12/13 Javascript
鼠标悬浮停留三秒后自动显示大图js代码
2014/09/09 Javascript
解决js下referer兼容各大浏览器的方法
2014/11/03 Javascript
js实现iGoogleDivDrag模块拖动层拖动特效的方法
2015/03/04 Javascript
原生JS实现旋转木马式图片轮播插件
2016/04/25 Javascript
用JavaScript获取页面文档内容的实现代码
2016/06/10 Javascript
Vue组件实例间的直接访问实现代码
2017/08/20 Javascript
Vue cli+mui 区域滚动的实例代码
2018/01/25 Javascript
js实现按钮开关单机下拉菜单效果
2018/11/22 Javascript
Vue 指令实现按钮级别权限管理功能
2019/04/23 Javascript
Nodejs封装类似express框架的路由实例详解
2020/01/05 NodeJs
实例分析javascript中的异步
2020/06/02 Javascript
vue element和nuxt的使用技巧分享
2021/01/14 Vue.js
[07:59]2014DOTA2叨叨刀塔 林熊猫称被邀请赛现场盛况震撼
2014/07/21 DOTA
[01:50:49]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第三场 1月24日
2021/03/11 DOTA
python 将字符串转换成字典dict
2013/03/24 Python
Python发送邮件测试报告操作实例详解
2018/12/08 Python
python实现三次样条插值
2018/12/17 Python
Python将字符串常量转化为变量方法总结
2019/03/17 Python
利用python如何在前程无忧高效投递简历
2019/05/07 Python
pycharm双击无响应(打不开问题解决办法)
2020/01/10 Python
基于打开pycharm有带图片md文件卡死问题的解决
2020/04/24 Python
python 图像判断,清晰度(明暗),彩色与黑白实例
2020/06/04 Python
PyCharm Community安装与配置的详细教程
2020/11/24 Python
新西兰演唱会和体育门票网站:Ticketmaster新西兰
2017/10/07 全球购物
美国领先的水果篮送货公司和新鲜水果供应商:The Fruit Company
2018/02/13 全球购物
美国专业汽车音响和移动电子产品零售商:Car Toys
2019/05/13 全球购物
介绍一下Linux内核的排队自旋锁
2014/08/27 面试题
大学生优秀自荐信范文
2014/02/25 职场文书
企业党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
高效笔记技巧分享:学会这些让你不再困扰
2019/09/04 职场文书