总体逻辑:

客户端:对称加密数据,上传。。。回执对称解密

同理服务端:获取上传数据 对称解密 。。。下发:对称加密

当且仅当登录接口和 拉新(更新nonce 和 key的接口)是对称加密上传 非对称解密

1.加密库选择 : Libsodium

2.加密对象:

(1)整体:这个我们最后放弃了,因为如果整体加密,服务端大多数情况会回执本地无法解开的数据,客户端不能按需处理逻辑了,僵死的逻辑处境

(2)局部:只加密data部分,这样随时根据回执信息按需处理

      {code:0

data: {XXX}

       message:success      

      }

3.加密方式:

重中之重,先 生成密钥对:

执行方法crypto_box_keypair,生成密钥对(pk,sk)

3.1 未登录前http请求需要:(eg 发送验证码、请求国际码集合等)

对称加密:

客户端参数:

(1)前提:请求头必有参数

VERSION:客户端版本号 md5处理

(2)密码学必要参数 nonce:  (1) 中截取md5[0,24)

key:  (1)中截取[0,32)

(3) 加密对象:最终转为data形式

(4)执行加密传输:

方法:crypto_secretbox_easy

同理:服务端解密需要用 成对方法解密:crypto_secretbox_open_easy

(5)服务端回执:客户端对称解密(服务端发送是对称加密)

3.2 登录操作:

(1) “3.1”  对称加密形式发起登录请求

(2) 上传加密的内容包括 本地生成的pk.

最新文章

  1. 仅此一文让你明白ASP.NET MVC 之Model的呈现(仅此一文系列三)
  2. 踩坑事件:不能对基于文本的临时表使用sql insert语句
  3. Android学习笔记——TableLayout
  4. servlet生命周期与工作原理
  5. JAVA - ATM机程序
  6. NDK开发之引用(局部引用,全局引用,虚全局引用)
  7. ACdream 1188 Read Phone Number (字符串大模拟)
  8. 工作流学习——Activiti流程变量五步曲 (zhuan)
  9. Integer类的装箱和拆箱到底是怎样实现的?
  10. sql2008“备份集中的数据库备份与现有数据库不同”解决方法
  11. (转载)log4net 组件详解
  12. 如何用Excel直接查询Oracle中的数据(转)
  13. ruby操作mongo DB
  14. Java IO、NIO、AIO知识总结
  15. 【Clojure 基本知识】小技巧s
  16. python 构造一个可以返回多个值的函数
  17. pycharm 倒入request包方法(新手)
  18. easyui dialog 表单提交,弹框初始化赋值,dialog实现
  19. 京东某商品页面的简单爬取 --Pyhon网络爬虫与信息获取
  20. C++复习:C++的类型转换

热门文章

  1. 【PM面试题】如果让你创业,你会选择什么?
  2. JAVA源文件中是否可以包括多个类,有什么限制
  3. 2018 ACM ICPC 南京赛区 酱油记
  4. 【BZOJ】3433: [Usaco2014 Jan]Recording the Moolympics (贪心)
  5. 【BZOJ】2100: [Usaco2010 Dec]Apple Delivery(spfa+优化)
  6. ROS导航之参数配置和自适应蒙特卡罗定位
  7. VC++ Debug产生异常时中断程序执行Break on Exception
  8. Python_selenium之窗口切换
  9. Django项目实战 - 搜索功能(转)
  10. 源码分析——Action代理类的工作