RSA加密通信小结(二)-新版本APP与后台通信交互内容修改方案
注1:本次修改分为两步,首先是内容相关的修改,待其完成之后,再进行加密通信项(粗体字备注)修改。
1.新的提交后台的格式包括:data,token(预留字段,暂时后台不校验),userId(已有的不删除,继续包含在内),onlineId(登录之后操作必传,用于后续确定的唯一ID[1])。
格式举例:
{
"token": "852171BE0555801998F13DE169FA46AE",
"userId": "e1a67271-1bbc-4af7-bd3e-a917046327c8",
"onlineId": "147340543466001480",
"data": {
"street": "科技园路.",
"city": "江苏苏州",
"country": "中国"
}
}
2.data,token,usterId,onlineId 应包含在一个json对象中。data应为前一个json对象的子集,即在总的Json对象中能够直接引用取出data子集。
3.在完成前两步之后,再完成对整个Json对象的基于RSA的加密,发送。后台对RSA解密,后使用(加密通信项)。
4.后台会在拦截器中,完成对密文的解析,token值的校验,数据POST传输的转换等。
5.后台返回给前台的 数据格式不变,仍然是:code,msg,data三个。这是一个JSON格式的参数,其中code,msg,data都是字符串形式(data原本是json对象,加密后变成字符串),后台发送给APP的报文只对data项进行加密。APP在完成内容的通联之后,再完成对交互报文的加密(加密通信项)。
[1] 后台,由于字段多功能重复,onlineId会作为唯一ID,后续的方式会采用通过onlineId去找对应的userId
RSA加密通信小结(二)-新版本APP与后台通信交互内容修改方案的更多相关文章
- Android 监听APP进入后台或切换到前台方案对比
在我们开发的过程中,经常会遇到需要我们判断app进入后台,或者切换到前台的情况.比如我们想判断app切换到前台时,显示一个解锁界面,要求用户输入解锁密码才能继续进行操作:我们想判断app切换到后台,记 ...
- H5+app前端后台ajax交互总结
流应用开发 1.前端是HBuilder 编写的html页面,UI控件用MUI: 2.后台用Eclipse开发的Servlet做控制器: 3.前后台交互用MUI的Ajax. 在Hbuilder中选择在安 ...
- RSA加密通信小结(一)
一.背景描述 帮朋友完成相关方案的改进. 二.计划与方案 1.加密方式采用RSA 1024加密. 2.发送与接收都采用RSA加密,采用两套不同的密钥. 3.统一的加解码函数.(此处除了对于传输数据进行 ...
- RSA加密通信小结(三)--生成加解密所需的SSL命令与流程
在iOS中使用RSA加密解密,需要用到.der和.p12后缀格式的文件,其中.der格式的文件存放的是公钥(Public key)用于加密,.p12格式的文件存放的是私钥(Private key)用于 ...
- C# Java间进行RSA加密解密交互(二)
原文:C# Java间进行RSA加密解密交互(二) 接着前面一篇文章C# Java间进行RSA加密解密交互,继续探讨这个问题. 在前面,虽然已经实现了C# Java间进行RSA加密解密交互,但是还是与 ...
- js加密(十二)yy.com rsa
1. url: https://aq.yy.com/ 2. target: 登录js 3. 是一个简单的rsa加密,找到加密的js文件,全部复制出来,修改一下就好. 4. 和网页中的一样
- “不给力啊,老湿!”:RSA加密与破解
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 加密和解密是自古就有技术了.经常看到侦探电影的桥段,勇敢又机智的主角,拿着一长串毫 ...
- ****ural 1141. RSA Attack(RSA加密,扩展欧几里得算法)
1141. RSA Attack Time limit: 1.0 secondMemory limit: 64 MB The RSA problem is the following: given a ...
- RSA加密算法详解(二)
研究RSA 不知为何,这几天突然有些心烦.望苍茫大地,凭添几分忧伤,可能是下雨的缘故.本篇主要想详细介绍RSA加密算法的原理,经常听别人说,这里是自己想搞清楚,弄明白.首先介绍了基本的数学原理,然后给 ...
随机推荐
- centos7 python3.5安装mysqlclient1.3.9
MySQL-python目前不支持python3.5,可以使用mysqlclient 下载地址:https://pypi.python.org/pypi/mysqlclient/1.3.9 解压后进入 ...
- 生成并部署SSH key
1.如何生成ssh公钥 你可以按如下命令来生成 sshkey: ssh-keygen -t rsa -C "xxxxx@xxxxx.com" # Generating public ...
- es6之类与对象
一.类的定义 class Parent{ constructor(name="mukewang"){ this.name=name; } } let v_parant=new Pa ...
- linux内核自己添加模块(内核版本:3.0.101)
做内核驱动第一步都是学习如何添加模块,这是基础,有了这个基础,剩下就是写代码了. 由于2.4到2.6内核版本的更新,无论是系统调用还是模块添加机制都有了巨大的变化,本人也因此饱经挫折,最后在3.0.1 ...
- TensorFlow创建简单的图片分类系统--机器学习
TensorFlow 参考链接 http://www.wolfib.com/Image-Recognition-Intro-Part-1/ 环境要求 linux amd64(必须是64位处理器)pyt ...
- Spring自定义注解(验证身份证+性别+地区)
第一步:定义注解 PersonFormId: package com.wbg.maven1128.demo_formatter; import java.lang.annotation.*; @Doc ...
- ARM Linux 大小核切换 ——cortex-A7 big.LITTLE 大小核 切换代码分析
ARM Linux 大小核切换——cortex-A7 big.LITTLE 大小切换代码分析 8核CPU或者是更多核的处理器,这些CPU有可能不完全对称.有的是4个A15和4个A7,或者是4个A57和 ...
- java servlet数据库查询并将数据显示到jsp页面
需要的jar包:mysql-connector-java.jar build path只是个jar包的引用,部署的时候想不丢包最好还是手动拷贝到对应项目的lib文件下. 在try{}中定义的变量为局部 ...
- java 计算器算法脚本
import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; public String Count(Strin ...
- WebService 学习笔记(一、概念及定义)
定义 WebService是一种服务导向架构(SOA service-oriented architecture)的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作. Web ...