文岳眶锭场景一:登陆
首先,在调试接口的body中定义以下字段
password:存储加密后的数据,并设置变量
password2:定义加密前的原始数据
接下来我们在前置操作面板中,编写前置脚本。同时Apifox内置了crypto-js库,基本可以实现各种加密、解密算法。本次使用的是AES算法步骤如下:👇
1.引入crypto-js内置库
2.获取 password2参数
3.对数据进行加密
完成以上步骤,即可对数据进行加密处理
场景二:接口签名
接口签名,一般操作步骤是:
拼接成字符串: 按照请求参数名的字母升序排列非空请求参数,使用URL键值对的格式拼接成字符串stringA;
拼接Secretkey:在stringA最后拼接上Secretkey得到字符串stringSignTemp
MD5加密: 对stringSignTemp进行MD5运算
得到sign值:并将得到的字符串所有字符转换为大写,得到sign值。
以上面微信支付官方签名demo,我们先定义好👇
然同样在前置脚本中,编辑👇 , 编写完成后点击发送可以看出右侧的控制台输出了最终签名的数据
场景三:解密返回数据
当下抓包工具方便开发排查问题的同时,也带来一些新的隐患。数据明文暴露容易,接口内容返回数据加密成为一种基本的使用场景
举个例子:对我个人手机号码进行, 这里用的是 👇
你会得到一个字符串信息
🤔️ 同样我们在接口管理工具Apifox中可以对我上文加密后的个人信息进行解密吗?
可以的,这个时候我们使用的就不再是前文提到的前置脚本,而是了这里我通过的Mock服务去返回上述的base64数据
并且在后置操作定义脚本,对该数据进行base64解密,脚本代码实现如下 👇