news 2026/4/16 10:41:12

接口测试:加密和签名

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
接口测试:加密和签名

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快

1、什么是加密以及解密?

加密:在网络上传输的原始数据(明文)经过加密后形成(密文)传输,防止被窃取。

解密:将加密还原成原始数据

2、加密方式分类?

对称式加密:对加密和解密使用的是同一个密钥

非对称式加密:非对称式加密需要两个密钥(双钥),分别叫公钥和秘钥,这两把秘钥可以互相加解密,公钥公开的,不需要保密,私钥是保密的。

一、加密方式详解

1、加对称密技术:

  • DES加密算法:加密安全性弱,一般应用于旧的系统里面
  • AES加密算法:一般用于前后端分离的接口加密
  • Base64加密算法:编码的方式

2、非对称加密技术(RSA加密算法)

RSA加密算法:最有影响力的加密算法

场景1:通过公钥加密通过私钥解密

两个用户。A和B,B有双钥,A想要把一个数据报文通过加密的方式传给B。

① B把自己的公钥发送给A(公钥是公开的)

② A使用这个公钥把数据报文进行加密,加密完成传给B(加密后的密文通过网络传给B)

③ B使用自己的秘钥解密得到数据报文

场景2:私钥加密:数字签名公钥解密:验证签名

  • 数字证书由来:因为公钥是公开的不安全,所以需要第三方的CA(数字证书颁发机构)对公钥进行加密,加密后的东西就叫数字证书。数字证书包括:B用户基本信息以及B公钥的信息,部分证书也附有有效期。X509的标准
  • CA:双钥,通过私钥加密
  • 验证签名:身份验证。

两个用户。A和B,B有双钥

① B把需要发送的数据报文通过私钥加密。

② B找到CA把自己的公钥做认证

③ CA就用自己的私钥对B的公钥和一些相关的信息一起加密,生成数字证书

④ CA就会把数字证书发给B

⑤ B将密文和数字证书都传给A

⑥ A用CA的公钥去解开数字证书,拿到B的公钥,在使用公钥解密密文,从而得到数据报文

Fiddler不能直接抓取https协议的数据报文,需要安装一个数字证书

https协议=http协议+SSL安全传输协议

SSL安全传输协议:安全套接层。

NetScape(B)研发,Fiddler(A),CA把数字证书发到网上,数字证书生成器。

3、MD5(完全不考虑解密,也叫做哈希算法,散列算法)

Postman举例:在Tests中 //获得当前时间戳 new times = new Date().getTime() //使用MD5加密 var miwen = CryptoJS .MD5("admin").toString().toUpperCase() Jmeter 函数助手:__digest ${__digest(MD5.admin,,,)}

二、接口签名

1、什么是接口签名?

使用用户名,密码,时间戳和所有的排序过的参数组合起来,再加密得到的字符串,字符串是唯一的有权访问第三方金融接口的鉴权码=sign接口签名。

2、为什么要做接口签名?

  • 防伪装攻击
  • 防篡改攻击
  • 防存放攻击
  • 防数据泄漏

3、如何做接口签名,了解签名的规则:

对所有的请求的参数按key按ASCII码做升序排列。

{"c":"3","b":"2","a":"1"} {"1":"1","b":"2","c":"3"}

把参数名和参数值连接成字符串:

a = 1&b=2&c=3

用申请到的appid和appsecret连接到字符串的头部

appid : 用户名 appsecret : 密码 appid = admin&appsecret=123&a=1&b=2&c=3

用时间戳连接字符串的尾部

appid = admin&appsecret=123&a=1&b=2&c=3×tamp=124124252

然后再把这个字符串安装32位的MD5加密,加密后再转换成大写。

sign = E48B34F95AE8001C99CB86A612538C04

10秒有效。

jmeter实现并且分装成函数的话:自定义函数 jave python

4、postman实现并且封装成函数:JavaScript

Pre-request-Script //url=https://aaa/sss?com=aaa&nu=hhh&phone=jjjjj&show_appid=jj&showapi_timestamp={{time}}&showapi_sign={{sign}} var moment = require('moment')//获取时间戳 console.log(request.url);//获取请求信息 var url = request.url; var param = url.split("?")[1]//取到url的?后面的值,按照?分割,取前面就是0 if(param != null) { { var time = moment().format("YYYYMMDDHHmmss")//取当天时间按照YYYYMMDDHHmmss形式显示 pm.environment.set("time",time);//postman 自带的 全局变量 param+="&showapi_timestamp="+time; param+="&showapi_sign=122344556"; var param = param.split("&") ;//分割变成一个list param.sort();//按照要求的方式进行排序a-z var keys = new Array(param.length); var values = new Array(param.length); for(var i=0;i<param.length;i++) { keys[i]=param[i].split("=")[0]//取=前面的值 values[i]=param[i].split("=")[1]//取=后面的值 } var str=[] for(var p=0;p<keys.length;p++)//如果发现keys需要sign,就不参与验签 { if (keys[p]=="showapi_sign"||values[p]=="{{time}}") { continue; } str.push(keys[p]+value[p]); } var sign = str.join("") sign = sign+"sssss";//加密钥 pm.environment.set("sign",CryptoJs.MD5(sign).toString());//postman 自带的全局变量}

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/14 12:23:16

2026 精选 AI 论文工具全攻略:从全流程到专项场景精准适配

随着《2026 全球 AI 学术写作行业白皮书》数据的发布及 200 高校师生实测反馈的汇总&#xff0c;AI 论文工具市场已迈入 “合规为基、场景为王、协同为要” 的全新阶段。当前全球高校 AI 论文工具使用率突破 45%&#xff0c;用户核心诉求已从单纯的 “效率提升”&#xff0c;全…

作者头像 李华
网站建设 2026/3/21 2:53:04

有哪些提供免抠PNG图片的网站?

找一张透明背景的PNG图片&#xff0c;曾经意味着要在设计软件里花费数小时进行精细的抠图&#xff0c;而如今&#xff0c;你只需要知道去哪里找。设计师们在寻找PNG素材时&#xff0c;主要面临几个难题&#xff1a;素材质量参差不齐、下载后需要二次处理的麻烦&#xff0c;以及…

作者头像 李华
网站建设 2026/4/13 17:48:56

天津大学_人工智能报告:历史、现状和未来

摘要&#xff1a;本文是天津大学人工智能专题报告&#xff0c;系统梳理人工智能 “三起两落” 的发展历程&#xff0c;聚焦大模型时代的技术演进、国内外厂商布局与国家政策支持&#xff0c;详解 “东数西算” 战略下国家、省份、企业、高校等多层面算力基础设施建设现状与国产…

作者头像 李华
网站建设 2026/4/13 0:57:36

Qwen3-VL大模型核心技术揭秘:多模态融合与长程理解机制详解

Qwen3-VL是Qwen系列最新多模态大模型&#xff0c;采用三模块架构(视觉编码器、视觉-语言融合模块、大语言模型)&#xff0c;通过SigLIP-2视觉编码器、DeepStack多层次视觉注入和Interleaved MRoPE位置建模等技术实现多模态融合。模型采用四阶段预训练策略逐步构建能力&#xff…

作者头像 李华
网站建设 2026/4/11 9:51:20

智能体路由完全指南:从概念到实现,助你掌握大模型核心架构

智能体路由是多智能体系统的核心动态决策机制&#xff0c;根据用户输入和上下文信息将请求导向最适合的处理路径。应用场景包括订单查询、产品信息检索和技术支持等。实现方法主要有四种&#xff1a;基于规则的路由、基于LLM的路由、基于嵌入的路由和基于机器学习模型的路由。未…

作者头像 李华
网站建设 2026/4/12 0:19:25

AI Agent进化论:从“乖宝宝“到“探险家“的大模型学习指南

本文探讨了AI Agent从"乖宝宝"到"探险家"的进化历程。现代AI虽反应变慢、规划有限&#xff0c;却能处理未知情况&#xff0c;实现从"背诵课文"到"即兴创作"的飞跃。工程师通过分层配合和任务区分优化AI性能&#xff0c;未来将实现无感…

作者头像 李华