移动端和服务器端通信

  中午睡醒,喝了杯热巧克力,突然脑洞一开,想起以前一直思考的问题。移动端 如何 安全的与 服务器端通信。

一、大概思路

  利用类似web中的 记住登录功能。

  移动端: 只存用户名 和 salt(理解为中间密码)不存密码

  服务器端:保存用户名、密码、salt

  关键点:salt做传输中的加密控制机制。

 

二、具体流程

  注册: 用户名、密码、salt(随机生成)

  web登录:用户名、密码登录

  移动端的登录:用户名、密码联网登录,同时salt值同步。 //salt值可以每次移动端登录时随用户名和密码提交到服务器端,服务器验证用户名和密码成功后,更新新的salt值。

  通信 移动端登录成功后,本地保存用户名和salt值,通信时,用salt值加密,到服务器后,用salt值解密。

 

三、利用原理:

  对称加密、salt值。

 

四、增加解密难度:

  1、salt值每个人不同,且移动端每次登录成功时更新。

  2、进一步加强破解难度,可以再加上时间戳,通过截取时间戳长度,确保多长时间后失效。

  3、如果每次登录更新salt太频繁,也可以考虑一段时间后更新。

 

五、salt的生成:

  salt在生成时,可以是随机生成的,也可以考虑带上时间因素。这点看具体业务

posted @ 2015-09-16 14:21  zyliang  阅读(759)  评论(0编辑  收藏  举报