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 基础学习第二弹 类属性和实例属性
Aug 27 Python
在Python3中使用asyncio库进行快速数据抓取的教程
Apr 02 Python
Python实现随机生成有效手机号码及身份证功能示例
Jun 05 Python
利用aardio给python编写图形界面
Aug 21 Python
python中import reload __import__的区别详解
Oct 16 Python
Python爬取商家联系电话以及各种数据的方法
Nov 10 Python
python list数据等间隔抽取并新建list存储的例子
Nov 27 Python
Python Pandas 转换unix时间戳方式
Dec 07 Python
详解从Django Allauth中进行登录改造小结
Dec 18 Python
利用Tensorflow的队列多线程读取数据方式
Feb 05 Python
Django 设置多环境配置文件载入问题
Feb 25 Python
python shapely.geometry.polygon任意两个四边形的IOU计算实例
Apr 12 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
smarty获得当前url的方法分享
2014/02/14 PHP
zf框架的数据库追踪器使用示例
2014/03/13 PHP
php设计模式之简单工厂模式详解
2014/09/04 PHP
php调用KyotoTycoon简单实例
2015/04/02 PHP
用php实现分页效果的示例代码
2020/12/10 PHP
JavaScript入门教程 Cookies
2009/01/31 Javascript
js计算页面刷新的次数
2009/07/20 Javascript
利用JQuery+EasyDrag 实现弹出可拖动的Div,同时向Div传值,然后返回Div选中的值
2009/10/24 Javascript
JS维吉尼亚密码算法实现代码
2010/11/09 Javascript
js中的时间转换—毫秒转换成日期时间的示例代码
2014/01/26 Javascript
深入探密Javascript数组方法
2015/01/08 Javascript
JS实现可关闭的对联广告效果代码
2015/09/14 Javascript
使用JavaScript脚本判断页面是否在微信中被打开
2016/03/06 Javascript
jQuery 获取跨域XML(RSS)数据的相关总结分析
2016/05/18 Javascript
关于Javascript中defer和async的区别总结
2016/09/20 Javascript
js面向对象编程总结
2017/02/16 Javascript
vue拦截器Vue.http.interceptors.push使用详解
2017/04/22 Javascript
JS时间控制实现动态效果的实例讲解
2017/07/31 Javascript
js 显示日期时间的实例(时间过一秒加1)
2017/10/25 Javascript
快速搭建React的环境步骤详解
2017/11/06 Javascript
快速了解vue-cli 3.0 新特性
2018/02/28 Javascript
vue this.reload 方法 配置
2018/09/12 Javascript
Python中的XML库4Suite Server的介绍
2015/04/14 Python
Python工程师面试题 与Python Web相关
2016/01/14 Python
python在Windows下安装setuptools(easy_install工具)步骤详解
2016/07/01 Python
python opencv判断图像是否为空的实例
2019/01/26 Python
对python中if语句的真假判断实例详解
2019/02/18 Python
pandas删除行删除列增加行增加列的实现
2019/07/06 Python
用Python从0开始实现一个中文拼音输入法的思路详解
2019/07/20 Python
BLACKMORES澳洲官网:澳大利亚排名第一的保健品牌
2018/09/27 全球购物
Turnbull & Asser官网:英国皇室御用的顶级定制衬衫
2019/01/31 全球购物
英国知名小木屋定制网站:Tiger Sheds
2020/03/06 全球购物
车贷收入证明范本
2014/01/09 职场文书
学校节能减排方案
2014/06/13 职场文书
杭白菊导游词
2015/02/10 职场文书
再也不用花钱买漫画!Python爬取某漫画的脚本及源码
2021/06/09 Python