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的Django框架中实现Hacker News的一些功能
Apr 17 Python
python 简单搭建阻塞式单进程,多进程,多线程服务的实例
Nov 01 Python
Python实现发送与接收邮件的方法详解
Mar 28 Python
pandas.DataFrame选取/排除特定行的方法
Jul 03 Python
Flask框架模板渲染操作简单示例
Jul 31 Python
Django中使用CORS实现跨域请求过程解析
Aug 05 Python
python对象转字典的两种实现方式示例
Nov 07 Python
如何在python中写hive脚本
Nov 08 Python
python base64库给用户名或密码加密的流程
Jan 02 Python
15行Python代码实现免费发送手机短信推送消息功能
Feb 27 Python
基于django 的orm中非主键自增的实现方式
May 18 Python
Python利用pip安装tar.gz格式的离线资源包
Sep 14 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数组总结篇(一)
2008/09/30 PHP
将博客园(cnblogs.com)数据导入到wordpress的代码
2013/01/06 PHP
Zend Framework教程之配置文件application.ini解析
2016/03/10 PHP
浅析Yii2集成富文本编辑器redactor实例教程
2016/04/25 PHP
PHP常用的三种设计模式汇总
2016/08/28 PHP
php读取出一个文件夹及其子文件夹下所有文件的方法示例
2017/06/15 PHP
JS模块与命名空间的介绍
2013/03/22 Javascript
jQuery中hide()方法用法实例
2014/12/24 Javascript
JS中正则表达式只有3种匹配模式(没有单行模式)详解
2016/07/28 Javascript
jQuery实现链接的title快速出现的方法
2017/02/20 Javascript
layer弹出层中H5播放器全屏出错的解决方法
2017/02/21 Javascript
浅谈Node Inspector 代理实现
2017/10/19 Javascript
原生JavaScript实现todolist功能
2018/03/02 Javascript
Vue props用法详解(小结)
2018/07/03 Javascript
Vue项目数据动态过滤实践及实现思路
2018/09/11 Javascript
Vue 幸运大转盘实现思路详解
2019/05/06 Javascript
Python实现Kmeans聚类算法
2020/06/10 Python
Python下使用Scrapy爬取网页内容的实例
2018/05/21 Python
Python生成MD5值的两种方法实例分析
2019/04/26 Python
Python获取好友地区分布及好友性别分布情况代码详解
2019/07/10 Python
python入门之基础语法学习笔记
2020/02/08 Python
python针对Oracle常见查询操作实例分析
2020/04/30 Python
css3实现一个div设置多张背景图片及background-image属性实例演示
2017/08/10 HTML / CSS
canvas像素画板的实现代码
2018/11/21 HTML / CSS
英国最大的在线快递公司之一:ParcelHero
2019/11/04 全球购物
农村婚礼证婚词
2014/01/08 职场文书
学习交流会主持词
2014/04/01 职场文书
进口业务员岗位职责
2014/04/06 职场文书
团队精神的演讲稿
2014/05/14 职场文书
2014国庆节演讲稿:祖国在我心中(400字)
2014/09/25 职场文书
房产协议书范本2014
2014/09/30 职场文书
优秀教师先进材料
2014/12/16 职场文书
不同意离婚上诉状
2015/05/23 职场文书
年会主持人开场白台词
2015/05/29 职场文书
导游词之沈阳植物园
2019/11/30 职场文书
Java 在线考试云平台的实现
2021/11/23 Java/Android