移动端和服务器端通信
中午睡醒,喝了杯热巧克力,突然脑洞一开,想起以前一直思考的问题。移动端 如何 安全的与 服务器端通信。
一、大概思路
利用类似web中的 记住登录功能。
移动端: 只存用户名 和 salt(理解为中间密码),不存密码。
服务器端:保存用户名、密码、salt
关键点:salt做传输中的加密控制机制。
二、具体流程
注册: 用户名、密码、salt(随机生成)
web登录:用户名、密码登录
移动端的登录:用户名、密码联网登录,同时salt值同步。 //salt值可以每次移动端登录时随用户名和密码提交到服务器端,服务器验证用户名和密码成功后,更新新的salt值。
通信: 移动端登录成功后,本地保存用户名和salt值,通信时,用salt值加密,到服务器后,用salt值解密。
三、利用原理:
对称加密、salt值。
四、增加解密难度:
1、salt值每个人不同,且移动端每次登录成功时更新。
2、进一步加强破解难度,可以再加上时间戳,通过截取时间戳长度,确保多长时间后失效。
3、如果每次登录更新salt太频繁,也可以考虑一段时间后更新。
五、salt的生成:
salt在生成时,可以是随机生成的,也可以考虑带上时间因素。这点看具体业务
1、以专家为榜样,不必自己重新探索
2、解构技能,找出实现80%效果的那20%
3、不要一心二用
4、练习练习再练习!然后获得即时反馈
5、坚持,不要在低谷期放弃
2、解构技能,找出实现80%效果的那20%
3、不要一心二用
4、练习练习再练习!然后获得即时反馈
5、坚持,不要在低谷期放弃