加密:明文转密文,防止信息泄漏或被篡改
解密:将密文还原
一、加密方式分类:
对称式加密:加密和解密的密钥是相同的
非对称式加密:需要公钥和私钥,可相互加解密
二、****加密方式
- 对称加密方法:
DES
AES
BASE64
- *非对称加密方法:
RSA
应用1:公钥加密,私钥解密
应用2:数字签名(用私钥加密),验证签名(公钥解密、身份验证)
数字证书:由第三方CA(数字证书颁发机构)对公钥加密,包含用户基本信息及公钥信息。
MD5(完全不考虑解密,也叫哈希算法)
Postman:
//times需要加密的变量
var times****=new**** Date().getTime()
console.log(times)
//使用MD5加密变量(根据项目需要使用加密函数)
var newtimes****=****CryptoJS.MD5(times).toString().toUpperCase()
console.log(newtimes)
Jmeter(beanshell):
加密:
1、将加密jar包放lib\ext下(或在测试计划界面的添加)
2、测试计划右键——添加——前置处理器——Beanshell预处理程序中import加密类
3、vars.get()获取传入参数值
4、调用函数加密,vars.put()将加密后的值传给指定变量名(${变量名})
解密:
将加密jar包放lib\ext下(或在测试计划界面的添加)
后置处理提取器提取返回信息(token)
3、测试计划右键——添加——后置处理器——Beanshell后置处理程序中import解密类
4、vars.get()获取传入参数值
5、调用函数解密
6、${__setProperty(token,${cookie},)}(设置全局变量:下一线程引用参数名,设置全局变量的参数,默认值)
7、在其他线程使用_P函数:${__P(cookie,)}
三、Fiddler(127.0.0.1:8888)
https=http+SSL
SSL:安全套接层,NetScape公司研发
1、 fiddler向服务器发送请求建立连接, 获取到服务器的CA证书, 用根证书公钥进行解密, 验证服务器数据签名, 获取到服务器CA证书公钥。
2、 fiddler伪造自己的CA证书, 冒充服务器证书传递给客户端浏览器, 客户端浏览器做跟fiddler一样的事。
3、客户端浏览器生成https通信用的对称密钥, 用fiddler伪造的证书公钥加密后传递给服务器, 被fiddler截获。
4、 fiddler将截获的密文用自己伪造证书的私钥解开, 获得https通信用的对称密钥。
5、 fiddler将对称密钥用服务器证书公钥加密传递给服务器, 服务器用私钥解开后建立信任, 握手完成, 用对称密钥加密消息, 开始通信。
6、fiddler接收到服务器发送的密文, 用对称密钥解开, 获得服务器发送的明文。再次加密, 发送给客户端浏览器。
7、 客户端向服务器发送消息, 用对称密钥加密, 被fidller截获后, 解密获得明文。
四、接口签名sign原理
Sign接口签名:用用户名、密码、排序后的参数、时间戳组合后加密得到唯一有权访问第三方接口的鉴权码。
作用:1、防伪装攻击
2、防篡改攻击
3、防重放攻击
4、防数据泄漏
签名规则:
- 对所有请求的参数按key用ASCII码做升序排列
- 将参数名和参数值连接成字符串
- 用申请到的appid(唯一标识/账号)和appsecret(密钥/密码)连接到字符串头部
- 用时间戳连接到字符串尾部
- 将字符串按32位MD5加密,加密后转成大写==签名,签名限定时间内有效
版权归原作者 道丁师傅 所有, 如有侵权,请联系我们删除。