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跳出循环语句continue与break的区别
Aug 25 Python
Python中使用urllib2模块编写爬虫的简单上手示例
Jan 20 Python
浅析Python中else语句块的使用技巧
Jun 16 Python
玩转python selenium鼠标键盘操作(ActionChains)
Apr 12 Python
使用Scrapy爬取动态数据
Oct 21 Python
在Pycharm terminal中字体大小设置的方法
Jan 16 Python
python mysql断开重连的实现方法
Jul 26 Python
Python range、enumerate和zip函数用法详解
Sep 11 Python
python 视频逐帧保存为图片的完整实例
Dec 10 Python
Python 自由定制表格的实现示例
Mar 20 Python
Python中seaborn库之countplot的数据可视化使用
Jun 11 Python
Python办公自动化之教你用Python批量识别发票并录入到Excel表格中
Jun 26 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
DOMXML函数笔记
2006/10/09 PHP
如何使用PHP批量去除文件UTF8 BOM信息
2013/08/05 PHP
php实现递归的三种基本方式
2020/07/04 PHP
微信获取用户地理位置信息的原理与步骤
2015/11/12 PHP
PHP树-不需要递归的实现方法
2016/06/21 PHP
php生成word并下载代码实例
2019/03/15 PHP
YUI 读码日记之 YAHOO.util.Dom - Part.1
2008/03/22 Javascript
JavaScript 给汉字排序实例代码
2008/06/28 Javascript
Firefox+FireBug使JQuery的学习更加轻松愉快
2010/01/01 Javascript
导入extjs、jquery 文件时$使用冲突问题解决方法
2014/01/14 Javascript
JS键盘版计算器的制作方法
2016/12/03 Javascript
有关JS中的0,null,undefined,[],{},'''''''',false之间的关系
2017/02/14 Javascript
修改 bootstrap table 默认detailRow样式的实例代码
2017/07/21 Javascript
基于Node.js搭建hexo博客过程详解
2019/06/25 Javascript
这15个Vue指令,让你的项目开发爽到爆
2019/10/11 Javascript
vue proxy 的优势与使用场景实现
2020/06/15 Javascript
nuxt.js写项目时增加错误提示页面操作
2020/11/05 Javascript
JS removeAttribute()方法实现删除元素的某个属性
2021/01/11 Javascript
Vue 实现可视化拖拽页面编辑器
2021/02/01 Vue.js
Tensorflow中使用tfrecord方式读取数据的方法
2018/06/19 Python
使用python实现kNN分类算法
2019/10/16 Python
如何利用pygame实现简单的五子棋游戏
2019/12/29 Python
使用Python求解带约束的最优化问题详解
2020/02/11 Python
Pycharm pyuic5实现将ui文件转为py文件,让UI界面成功显示
2020/04/08 Python
用python监控服务器的cpu,磁盘空间,内存,超过邮件报警
2021/01/29 Python
关于HTML5 Placeholder新标签低版本浏览器下不兼容的问题分析及解决办法
2016/01/27 HTML / CSS
波兰数码相机及配件网上商店: Cyfrowe.pl
2017/06/19 全球购物
土耳其国际性时尚购物网站:Modanisa
2018/01/19 全球购物
送给他或她的礼物:FUN.com
2018/08/17 全球购物
求职自荐信范文格式
2013/11/29 职场文书
职工运动会感言
2014/02/07 职场文书
市场营销专业大学生职业生涯规划文
2014/03/06 职场文书
对孩子的寄语
2014/04/09 职场文书
综合素质评价自我评价
2015/03/06 职场文书
小学信息技术教学反思
2016/02/16 职场文书
详解Nginx 工作原理
2021/03/31 Servers