iOS 移动端接口加密流程(包含单点登录和失效时间)
【推荐学习】暗月渗透测试培训 十多年渗透经验,体系化培训渗透测试 、高效学习渗透测试,欢迎添加微信好友aptimeok 咨询。
最近换了工作,新公司的一套面试题是关于移动端接口加密流程,当时根据面试题画出了大概的 UML 类图,但是还有很多考虑不周的情况。接触到代码后仔细研究看了一下数据请求逻辑,感觉还是有必要总结一下加深理解。
- 为了数据安全,大多数没有使用 https 的公司都会选择 token 来提高数据请求的安全性,token 的生成方法也不尽相同,只要保证唯一性就行,最好是后台管理 token,由后台生成并返回前端保存。
上送参数
- 所有接口都需要携带当前的的版本号和平台
中文说明 | 上送项 | 取值 |
---|---|---|
平台 | plat | android 或者 iOS |
版本号 | ver | 1.0 |
- iOS端和安卓端分配不同的 app_id、private_key。每次通信是除了上述要上送的数据外,还要上送 timestamp、app_id、private_key、rand、sign。见下表:
字段名称 | 中文含义 | 说明 |
---|---|---|
timestamp | 用户端时间戳 | 前后台约定好时间格式就行 |
rand | 随机数 | 16位随机数,包含数字和字母 |
app_id | 应用 id | 后台分配的给每个版本使用的,尽量每个版本更新时更换一下,后面说明用处 |
sign | 数据签名 | MD5(除sign 以外的所有文字上送项+ private_key+app_id+rand+timestamp+plat+ver 按照参数名的字母顺序排序,按参数名=值&拼接,结尾没有&) |
如:iOS 端
作者:Alger_梁
链接:https://www.jianshu.com/p/fe3c2931ed53
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
本文来自,经授权后发布,本文观点不代表立场,转载请联系原作者。