app和服务端加密解密方式及第三方账号绑定

南风码哥| 阅读:1538 更新时间:2014-11-13 移动端架构

URL传输层 参数加密:    

1、普通请求校验包含参数:    a.请求令牌- - -时效性(服务端生成)         - - - -  限制其他抓包工具抓包频率

2、支付校验包含参数:a.请求令牌、b.对称加密串- - -(客户端生成)       - - - -  加密敏感内容

1、请求示例:desmsg (pay_psd = deskey)

   iOS请求:app=iOS&desmsg = deskey & token =time

   android请求: app=android& desmsg =  deskey & token =time

   wechat请求:access_token - - -采用微信规则

   wap请求:app=web&desmsg = deskey &token =time


2、采用des对称256位加密方式生成 “deskey” :
加密内容"token" -> key:"MD5(userid+apptype+登陆密码MD5+token)";支付加密内容“vkxpay” -> key:"MD5(userid+apptype+支付密码MD5+vkxpay)";

   deskey = des256加密key后的字符串


3、token过期,客户端重新发送请求

加密串内容:token,后端校验是否等于  token 

        请求示例:xxx.com?app=ios&userid=223&descontent= 返回信息:   

  data=>array(

        “token” => ‘xxxxx’,

        “out_time” => ‘7200'

        ); 

4、异地账号登陆踢下线请求

用户表加  need_login  ,记录iOS\android\web是否需要重新登陆、

如果web改密码,iOS\android需要重新登陆、哪个端重新登陆了,服务端就删掉一个。

规则在api校验那里,增加。


5、第三方绑定账号规则

一、多账号快速登陆逻辑

1、微信登陆:微信号没有注册:  绑定微信 - - - >填写手机号验证 - - >有相同手机号,则直接绑定微信号- -》环信号登陆

2、微信登陆:微信号没有注册:绑定微信 - - >填写手机号,没有该手机号则直接注册 - ->已经存在手机号则关联,直接登陆环信号

3、微信登陆:微信号已经注册了,返回用户信息,直接登陆- -》环信号

4、手机号登陆:手机号注册 - > 手机号获取验证码 - - > 提交验证码校验

                             - - > 填写密码 - - >  注册成功 - -  >修改昵称和头像 


二、第三方支付

1、app发送商品数据和交易号- -》 2、服务端发送到第三方支付服务器获取签名, 3、返回给客户端,4、客户端调取第三方支付


三、app现金支付

1、订单交易号 - -》2、获取支付临时校验码(30分钟有效)- -》3、现金支付金额(传支付校验码,支付密码,支付金额,交易订单号)- - 》4、返回支付结果



6、api请求规则

1、普通请求校验包含参数:    a.请求令牌- - -时效性(服务端生成)         - - - -  限制其他抓包工具抓包频率

2、支付校验包含参数:a.请求令牌、b.对称加密串- - -(客户端生成)       - - - -  加密敏感内容

3、客户端检测需要重新登录,就退出登录 - - 环信




  



本文由南风码哥发表并编辑,转载此文章须经作者同意,并请附上出处及本页链接。
取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦