哈喽,我是树酱。在平时开发过程中,你有没有遇到过跟后端对线的时候,后端说:,那么到底哪些场景需要加对接口数据进行加密或解密?,在数据安全背景下,大部分的登陆接口都需要客户端将用户的用户名、密码等信息进行加密。,举个场景:为了安全起见,后端告知前端调登陆接口的时候,需要先对用户的登陆信息进行AES加密。,我们用接口管理工具Apifox验证一下:,Apifox是一款国产热度火很高的接口管神器,支持前置操作、后置操作,一般情况下,在发送请求前需要对接口的数据做进一步处理,我们可以通过在前置操作中添加脚本对用户登陆数据进行加密处理,那如何通过Apifox的前置操作对密码进行加密?,首先,在调试接口的body中定义以下字段,
,接下来我们在前置操作面板中,编写前置脚本。同时Apifox内置了crypto-js库,基本可以实现各种加密、解密算法。本次使用的是AES算法 步骤如下:,1.引入crypto-js内置库,2.通过pm.request.body.formdata 获取 password2参数,3.对数据进行加密,
,完成以上步骤,即可对数据进行加密处理。,接口签名是接口请求的一种常见的场景,那为什么需要对接口进行签名?通常为了防止参数被篡改。,接口签名,一般操作步骤是:,这里以微信支付签名为例子:,
,微信支付签名,那在Apifox这个接口工具如何调试需要接口签名的接口,我们可以怎么做?,以上面微信支付官方签名demo,我们先定义好Query参数 :,
,然同样在前置脚本中,编辑签名脚本, 编写完成后点击发送可以看出右侧的控制台输出了最终签名的数据;,
,上图中的脚本完整版如下 :,更详细的操作可以参考官方文档:Apifox 使用文档 - 接口签名。,当下抓包工具方便开发排查问题的同时,也带来一些新的隐患。数据明文暴露容易,接口内容返回数据加密成为一种基本的使用场景。,举个例子:对我个人手机号码进行base64加密, 这里用的是:,你会得到一个字符串信息。,同样我们在接口管理工具Apifox中可以对我上文加密后的个人信息进行解密吗?,可以的,这个时候我们使用的就不再是前文提到的前置脚本,而是后置脚本了。,这里我通过Apifox的Mock服务去返回上述的base64数据。,
,并且在后置操作定义脚本,对该数据进行base64解密,脚本代码实现如下:,
,Apifox 是API 开发测试全流程集成工具,除了满足上文提及的API调试、加密、解密、签名等场景之外,还有很多功能包括:
© 版权声明
文章版权归作者所有,未经允许请勿转载。