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完全新手教程
Feb 08 Python
Python实现将n个点均匀地分布在球面上的方法
Mar 12 Python
用Python编写一个简单的FUSE文件系统的教程
Apr 02 Python
用Django实现一个可运行的区块链应用
Mar 08 Python
深入理解python中sort()与sorted()的区别
Aug 29 Python
解决PySide+Python子线程更新UI线程的问题
Jan 11 Python
在Python中使用Neo4j的方法
Mar 14 Python
python使用Qt界面以及逻辑实现方法
Jul 10 Python
Python操作Mongodb数据库的方法小结
Sep 10 Python
Python3 ID3决策树判断申请贷款是否成功的实现代码
May 21 Python
基于 Python 实践感知器分类算法
Jan 07 Python
python内置进制转换函数的操作
Jun 02 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
为了这两部电子管收音机,买了6套全新电子管和10粒刻度盘灯泡
2021/03/02 无线电
DOMXML函数笔记
2006/10/09 PHP
关于session在PHP5的配置文件中的详细设置参数说明
2011/04/20 PHP
自定义session存储机制避免会话保持问题
2014/10/08 PHP
Laravel5.1框架注册中间件的三种场景详解
2019/07/09 PHP
window.open的页面如何刷新(父页面)上层页面
2012/12/28 Javascript
node.js使用npm 安装插件时提示install Error: ENOENT报错的解决方法
2014/11/20 Javascript
使用JavaScript+canvas实现图片裁剪
2015/01/30 Javascript
Bootstrap每天必学之前端开发框架
2015/11/19 Javascript
JavaScript入门教程之引用类型
2016/05/04 Javascript
Javascript之BOM(window对象)详解
2016/05/25 Javascript
Javascript iframe交互并兼容各种浏览器的解决方法
2016/07/12 Javascript
深入理解JavaScript中的并行处理
2016/09/22 Javascript
JS实现超简单的汉字转拼音功能示例
2016/12/22 Javascript
jQuery基于ajax操作json数据简单示例
2017/01/05 Javascript
如何获取TypeScript的声明文件.d.ts
2018/05/01 Javascript
vue使用jsonp抓取qq音乐数据的方法
2018/06/21 Javascript
vue的token刷新处理的方法
2018/07/17 Javascript
vue 移动端适配方案详解
2018/11/15 Javascript
js console.log打印对象时属性缺失的解决方法
2019/05/23 Javascript
使用Vue.js 和Chart.js制作绚丽多彩的图表
2019/06/15 Javascript
echarts统计x轴区间的数值实例代码详解
2019/07/07 Javascript
解决小程序无法触发SESSION问题
2020/02/03 Javascript
Python使用PIL库实现验证码图片的方法
2016/03/11 Python
Python中用字符串调用函数或方法示例代码
2017/08/04 Python
在cmder下安装ipython以及环境的搭建
2018/10/19 Python
python多线程使用方法实例详解
2019/12/30 Python
KLOOK客路:发现更好玩的世界,预订独一无二的旅行体验
2016/12/16 全球购物
Python中如何定义一个函数
2016/09/06 面试题
opencv实现图像几何变换
2021/03/24 Python
驾驶员岗位职责
2014/01/29 职场文书
团支书竞选演讲稿
2014/04/28 职场文书
钓鱼岛事件感想
2015/08/11 职场文书
CSS完成视差滚动效果
2021/04/27 HTML / CSS
用Java实现简单计算器功能
2021/07/21 Java/Android
青岛市的收音机研制与生产
2022/04/07 无线电