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内置变量-reversed(seq)
Jun 21 Python
Python实现的括号匹配判断功能示例
Aug 25 Python
python使用正则表达式来获取文件名的前缀方法
Oct 21 Python
python实现词法分析器
Jan 31 Python
pybind11和numpy进行交互的方法
Jul 04 Python
python 已知三条边求三角形的角度案例
Apr 12 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
Aug 17 Python
利用python清除移动硬盘中的临时文件
Oct 28 Python
Python 实现PS滤镜中的径向模糊特效
Dec 03 Python
使用Python通过oBIX协议访问Niagara数据的示例
Dec 04 Python
Pytorch 如何实现常用正则化
May 27 Python
教你漂亮打印Pandas DataFrames和Series
May 29 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+JS无限级可伸缩菜单详解(简单易懂)
2007/01/02 PHP
PHP 事务处理数据实现代码
2010/05/13 PHP
php查找任何页面上的所有链接的方法
2013/12/03 PHP
PHP遍历目录并返回统计目录大小
2014/06/09 PHP
php进程daemon化的正确实现方法
2018/09/06 PHP
PHP上传图片到数据库并显示的实例代码
2019/12/20 PHP
nodejs中使用monk访问mongodb
2014/07/06 NodeJs
jquery获取及设置outerhtml的方法
2015/03/09 Javascript
php利用curl获取远程图片实现方法
2015/10/26 Javascript
jquery对复选框(checkbox)的操作汇总
2016/01/13 Javascript
Bootstrap基本样式学习笔记之表格(2)
2016/12/07 Javascript
使用gulp搭建本地服务器并实现模拟ajax
2017/04/05 Javascript
javaScript中封装的各种写法示例(推荐)
2017/07/03 Javascript
Angular2整合其他插件的方法
2018/01/20 Javascript
javascript中UMD规范的代码推演
2018/08/29 Javascript
VUE DOM加载后执行自定义事件的方法
2018/09/07 Javascript
vue2.0+vue-router构建一个简单的列表页的示例代码
2019/02/13 Javascript
Angular脚手架开发的实现步骤
2019/04/09 Javascript
解决vue-photo-preview 异步图片放大失效的问题
2020/07/29 Javascript
[48:22]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python实现根据窗口标题调用窗口的方法
2015/03/13 Python
Python实现k-means算法
2018/02/23 Python
python中redis查看剩余过期时间及用正则通配符批量删除key的方法
2018/07/30 Python
解决PySide+Python子线程更新UI线程的问题
2019/01/11 Python
详解python算法之冒泡排序
2019/03/05 Python
Django使用Celery加redis执行异步任务的实例内容
2020/02/20 Python
Django如何使用redis作为缓存
2020/05/21 Python
python如何修改文件时间属性
2021/02/05 Python
CSS3 简写animation
2012/05/10 HTML / CSS
分享30个新鲜的CSS3打造的精美绚丽效果(附演示下载)
2012/12/28 HTML / CSS
localStorage的过期时间设置的方法详解
2018/11/26 HTML / CSS
英语硕士生求职简历的自我评价
2013/10/15 职场文书
网上签名寄语活动留言
2014/01/18 职场文书
教师教学评估方案
2014/05/09 职场文书
敬老院志愿者活动总结
2015/05/06 职场文书
js面向对象编程OOP及函数式编程FP区别
2022/07/07 Javascript