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中的readline()方法的使用
May 24 Python
python面向对象多线程爬虫爬取搜狐页面的实例代码
May 31 Python
Python闭包执行时值的传递方式实例分析
Jun 04 Python
Python爬虫之正则表达式基本用法实例分析
Aug 08 Python
python针对mysql数据库的连接、查询、更新、删除操作示例
Sep 11 Python
基于YUV 数据格式详解及python实现方式
Dec 09 Python
python将图片转base64,实现前端显示
Jan 09 Python
Python netmiko模块的使用
Feb 14 Python
pycharm如何实现跨目录调用文件
Feb 28 Python
python实现猜拳游戏
Mar 04 Python
如何用python写个模板引擎
Jan 14 Python
python数字图像处理之图像自动阈值分割示例
Jun 28 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结合Mysql数据库实现留言板功能
2016/03/04 PHP
在IE,Firefox,Safari,Chrome,Opera浏览器上调试javascript
2008/12/02 Javascript
JavaScript实现页面滚动图片加载(仿lazyload效果)
2011/07/22 Javascript
深入理解JavaScript系列(10) JavaScript核心(晋级高手必读篇)
2012/01/15 Javascript
jquery连缀语法如何实现
2012/11/29 Javascript
js判断屏幕分辨率的代码
2013/07/16 Javascript
jQuery中index()的用法分析
2014/09/05 Javascript
javascript判断复选框是否选中的方法
2015/10/16 Javascript
JavaScript中最容易混淆的作用域、提升、闭包知识详解(推荐)
2016/09/05 Javascript
JavaScript中双向数据绑定详解
2017/05/03 Javascript
Vue.js实现的表格增加删除demo示例
2018/05/22 Javascript
js遍历添加栏目类添加css 再点击其它删除css【推荐】
2018/06/12 Javascript
JavaScript实现异步图像上传功能
2018/07/12 Javascript
Vue.js 时间转换代码及时间戳转时间字符串
2018/10/16 Javascript
Nodejs技巧之Exceljs表格操作用法示例
2019/11/06 NodeJs
vue使用recorder.js实现录音功能
2019/11/22 Javascript
js表达式与运算符简单操作示例
2020/02/15 Javascript
python的id()函数介绍
2013/02/10 Python
在Python程序中进行文件读取和写入操作的教程
2015/04/28 Python
mac系统安装Python3初体验
2018/01/02 Python
python 读取DICOM头文件的实例
2018/05/07 Python
Python列表切片操作实例总结
2019/02/19 Python
Python flask框架如何显示图像到web页面
2020/06/03 Python
python 负数取模运算实例
2020/06/03 Python
python中pop()函数的语法与实例
2020/12/01 Python
浅谈Selenium+Webdriver 常用的元素定位方式
2021/01/13 Python
利用Python过滤相似文本的简单方法示例
2021/02/03 Python
美国美发品牌:Bumble and Bumble
2016/10/08 全球购物
德国PC硬件网站:CASEKING
2016/10/20 全球购物
一套中级Java程序员笔试题
2015/01/14 面试题
自我评价个人范文
2013/12/16 职场文书
2015年助理工程师工作总结
2015/04/03 职场文书
2015年仓管员工作总结
2015/04/21 职场文书
夫妻吵架保证书
2015/05/08 职场文书
SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
2021/07/07 SQL Server
使用Spring处理x-www-form-urlencoded方式
2021/11/02 Java/Android