浅谈接口加密

1、接口加密的重要性

加密与非加密区别:

客户端在跟服务端进行数据交互的时候,比如登录操作,打开调试窗口,我们在输入用户名密码之后点击登录,可以看到我们调用的登录接口,在接口的返回数据中,可以看到登录的用户名和密码是明文显示,说明该接口没有进行加密操作。
如果一个登录接口是加密的,那么我们在接口工具中直接使用 用户名、密码登录是无法登录成功的,即使你的用户名密码正确,他还是会提示你的用户名密码不正确。

重要性:

客户端服务端通过网络进行数据传输,我们在登录一个网站的时候需要联网(比如路由器),客户端发送的任何请求都会经过路由器,也就是路由器会记录所有的网络传输数据,然后再由路由器发送到服务端,路由器就像一个中间件一样的存在,所以数据很容易被中间件窃取,这就是为什么需要接口加密。

HTTPS加密传输

在正式传输数据之前,客户端和服务端先做一个【加密】的流程。
HTTPS虽然保证了传输过程中数据的一些安全性,但是依然可能被抓包,因为https加密作用与网络代理和服务器之间,客户端 ----》网络代理-----(HTTPS加密)-----》服务器,网络代理还是可以看到客户端发送的数据。
适合接口加密的项目:银行、支付、金融等等涉及到钱的项目

客户端/服务端 加密

对称加密:加密和解密用同一个密钥

密码学:凯撒密码(交换密码、替换密码)
eg:明文(abc) -----(加密算法+密钥)------密文(def)
加密算法:就是 字母表偏移【加密逻辑】
密钥:偏移量-右
测试人员 ---- 调用对称加密接口【需要知道1、加密算法,2、密钥】

非对称加密:加密和解密用的不同的密钥

使用公钥加密,使用私钥解密
非对称加密【小游戏】
【客户端】----输入一个3位数的数字【明文】
加密:算法(加减乘除数学运算)
密钥(乘以91)
传输数据:—426
【服务端】 —解析结果【686】
解密:算法算法(加减乘除数学运算)
密钥(乘以11),后3位就是解密后的数据

加密接口 测试复杂性

对称加密需要了解【算法、密钥】
非对称加密需要了解【算法、公钥、私钥】
工作中测试接口加密的操作:
1、 开发生成加密后的数据,导出。
缺点:提前生成的数据,测试场景覆盖的比较少
2、通过代码进行加解密—测试人员可以去去写,开发人员也可以)

  • 开发提供代码片段【加解密代码】 — jmeter去执行
  • 开发提供执行工具 ---- 直接通过命令执行,生成加密后的数据
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值