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解析html开发库pyquery使用方法
Feb 07 Python
python迭代器实例简析
Sep 25 Python
基于Python实现文件大小输出
Jan 11 Python
Python实现字典去除重复的方法示例
Jul 31 Python
基于python中pygame模块的Linux下安装过程(详解)
Nov 09 Python
django中的setting最佳配置小结
Nov 21 Python
微信跳一跳小游戏python脚本
Jan 05 Python
创建pycharm的自定义python模板方法
May 23 Python
详解numpy.meshgrid()方法使用
Aug 01 Python
python numpy存取文件的方式
Apr 01 Python
Python箱型图处理离群点的例子
Dec 09 Python
Pytorch基本变量类型FloatTensor与Variable用法
Jan 08 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
对squid中refresh_pattern的一些理解和建议
2009/04/17 PHP
PHP 获取远程网页内容的代码(fopen,curl已测)
2011/06/06 PHP
php学习之数据类型之间的转换介绍
2011/06/09 PHP
在项目中寻找代码的坏命名
2012/07/14 PHP
使用PHP开发留言板功能
2019/11/19 PHP
jquery.post用法关于type设置问题补充
2014/01/03 Javascript
jquery缓动swing liner控制动画过程不同时刻的速度
2014/05/29 Javascript
JavaScript中使用Object.create()创建对象介绍
2014/12/30 Javascript
javascript实现倒计时并弹窗提示特效
2015/06/05 Javascript
轻松学习Javascript闭包函数
2015/12/15 Javascript
在JavaScript中模拟类(class)及类的继承关系
2016/05/20 Javascript
JS实现根据用户输入分钟进行倒计时功能
2016/11/14 Javascript
JS开发中百度地图+城市联动实现实时触发查询地址功能
2017/04/13 Javascript
vue axios请求超时的正确处理方法
2018/04/02 Javascript
IE9 elementUI文件上传的问题解决
2018/10/17 Javascript
更优雅的微信小程序骨架屏实现详解
2019/08/07 Javascript
vue v-for直接循环数字实例
2019/11/07 Javascript
Vue3不支持Filters过滤器的问题
2020/09/24 Javascript
跟老齐学Python之编写类之三子类
2014/10/11 Python
opencv python统计及绘制直方图的方法
2019/01/21 Python
详解python的argpare和click模块小结
2019/03/31 Python
Python实现最大子序和的方法示例
2019/07/05 Python
python聚类算法解决方案(rest接口/mpp数据库/json数据/下载图片及数据)
2019/08/28 Python
python写一个随机点名软件的实例
2019/11/28 Python
wxpython多线程防假死与线程间传递消息实例详解
2019/12/13 Python
真正的英国宝藏:Mappin & Webb
2019/05/05 全球购物
Lookfantastic意大利官网:英国知名美妆购物网站
2019/05/31 全球购物
新西兰优惠网站:Treat Me
2019/07/04 全球购物
C语言如何决定使用那种整数类型
2016/11/26 面试题
C#中有没有运算符重载?能否使用指针?
2014/05/05 面试题
初婚初育证明
2014/01/14 职场文书
公共机构节能宣传周活动总结
2014/07/09 职场文书
邀请函范文
2015/02/02 职场文书
Python列表删除重复元素与图像相似度判断及删除实例代码
2021/05/07 Python
Python基础之教你怎么在M1系统上使用pandas
2021/05/08 Python
如何利用python实现Simhash算法
2022/06/28 Python