API接口加密方式说明

版权声明:本文为博主原创文章,未经博主允许不得转载。 http://blog.csdn.net/lmy_1/article/details/52791058
一、文档说明
本文档适用于api接口开发人员、移动端开发人员,针对移动端请求API接口时加密方式以及加密规则进行说明。
二、加密方式
1.不采取非对称加密说明
好处:
相对于对称加密,非对称加密安全性远远高宇对称加密,能够保证在数据传输中数据被劫持之后不被破解。
缺点:
由于非对称加密 [ openssl rsa ],密钥为1024bit时候最多值能加密117个字符,而且加解密相对于对称加密速度会慢,目前接口和app交互数据较多时候,只能采取分段加密之后拼装,解密时候也需要分段解密,不适用当前使用场景。
2.非对称加密方式说明
(1)加密算法说明
加密算法:AES
加密模式:CBC
填充方式:PKCS7
加密密钥:BeijingIyijigo.com
初始化向量[ IV ]:00000000000000000000000000000000
具体实现可以参考链接 : http://www.funboxpower.com/php_android_ios_aes#codesyntax_2
(2)接口加密说明
(1)、移动端请求接口时,将数据通过POST提交到接口,
(2)、将接口需要的参数拼成数组
(3)、将数组json_encode之后
(4)、加密之后拼装为data数据传递给接口。
(3)其他参数说明
(1)、移动端请求接口的时候需要将终端类型(tt)传递给接口,建议和data数据平级。
(2)、移动端请求接口的时候需要将终端版本号(vc)传递给接口,建议和data数据平级。
例如获取用户信息接口:
http://xxx.com/user/getUserInfo?data=encrypt(json(array))&tt=1&vc=1;
(4)SIGN值加密以及校验说明
将请求接口需要的参数排序后的json串MD5传递给接口。
校验值生成步骤:
① 将接口需要的参数组装成数组 【IOS为字典,android为hashmap 】
② 将接口参数排序之后,将Key_value拼接为一个字符串
arr = array( ‘a’=> 1, ‘b’=>2);
拼装之后为a1b2
③ 将拼接的串MD5
④ 将加密之后的MD5值作为请求接口的参数传递 ( 和data,tt,vc 平级 )
备注:
用于对请求参数进行校验,接口在接收到参数时,需要对参数进行排序,json之后进行MD5校验,接口参数不强制要求按照文档顺序,校验值必须排序之后再进行MD5加密,防止在传输过程中被截断篡改,接口不强制对参数顺序进行校验。
API接口加密方式说明的更多相关文章
- 一种简单的REST API接口加密实现,只允许自己的产品调用后台,防止接口被刷
在项目上线后,后台接口很容易通过抓包工具看到, 难免被人为构造恶意请求攻击我们的系统,相信大家都或多或少都遇到过短信验证码被刷.疯狂留言灌水.数据被恶意爬取等问题,这种直接抓接口然后写个循环调用的行为 ...
- HTTP API接口安全设计
HTTP API接口安全设计 API接口调用方式 HTTP + 请求签名机制 HTTP + 参数签名机制 HTTPS + 访问令牌机制 有没有更好的方案? OAuth授权机制 OAuth2.0服务 ...
- api接口对于客户端的身份认证方式以及安全措施
转载 基于http协议的api接口对于客户端的身份认证方式以及安全措施 由于http是无状态的,所以正常情况下在浏览器浏览网页,服务器都是通过访问者的cookie(cookie中存储的jsession ...
- 接口加密《二》: API权限设计总结
来源:http://meiyitianabc.blog.163.com/blog/static/105022127201310562811897/ API权限设计总结: 最近在做API的权限设计这一块 ...
- .NET API 接口数据传输加密最佳实践
.NET API 接口数据传输加密最佳实践 我们在做 Api 接口时,相信一定会有接触到要给传输的请求 body 的内容进行加密传输.其目的就是为了防止一些敏感的内容直接被 UI 层查看或篡改. 其实 ...
- 如何写出安全的API接口(参数加密+超时处理+私钥验证+Https)- 续(附demo)
上篇文章说到接口安全的设计思路,如果没有看到上篇博客,建议看完再来看这个. 通过园友们的讨论,以及我自己查了些资料,然后对接口安全做一个相对完善的总结,承诺给大家写个demo,今天一并放出. 对于安全 ...
- Java 调用Restful API接口的几种方式--HTTPS
摘要:最近有一个需求,为客户提供一些Restful API 接口,QA使用postman进行测试,但是postman的测试接口与java调用的相似但并不相同,于是想自己写一个程序去测试Restful ...
- ASP.NET Web API 入门 (API接口、寄宿方式、HttpClient调用)
一.ASP.NET Web API接口定义 ASP.NET Web API默认实现了Action方法和HTTP方法的映射,Action方法方法名体现了其能处理的请求必须采用的HTTP方法 二.寄宿方式 ...
- Python调用API接口的几种方式 数据库 脚本
Python调用API接口的几种方式 2018-01-08 gaoeb97nd... 转自 one_day_day... 修改 微信分享: 相信做过自动化运维的同学都用过API接口来完成某些动作.AP ...
随机推荐
- js对象遍历输出顺序错乱的问题
一.js对象遍历顺序错乱的原因 下边就来实践一下: var obj={'3':'ccc',name:'abc',age:23,school:'sdfds',class:'dfd',hobby:'dsf ...
- 20165337第七周实验报告《Java面向对象程序设计》
实验报告封面 实验内容及步骤 实验一.实现百分制成绩转成"优.良.中.及格.不及格"五级制成绩的功能 代码 public class MyUtil{ public static S ...
- Springboot 配置 ssl 实现HTTPS 请求 & Tomcat配置SSL支持https请求
SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议.TLS与 ...
- OGG-01168
https://blog.csdn.net/zhrzhl/article/details/21698659
- kali linux 安装 matlab2016Rb
分享安装包: https://pan.baidu.com/s/1hrBd3Li 密码:u9q3 由于Linux版的分为两个镜像,需要挂载后合并: mount R2016b_glnxa64_dvd1.i ...
- C++ std::pair的用法
1 pair的应用 pair是将2个数据组合成一个数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存.另一个应用是,当一个函数需要返回2个数据的时候, ...
- Linux iptables防火墙
查找安装包yum list | grep iptables 安装iptables yum install iptables-services 重启防火墙使配置文件生效 systemctl restar ...
- 【Tomcat】CentOS7.0下安装多个Tomcat及其配置
安装前所需环境 在开始安装Tomcat之前,需要安装环境JDK,并配置JAVA环境.如果不知道如何配置,可参考这篇博客:[Linux]CentOS7.0下安装JDK环境 Tomcat安装 Tomcat ...
- [转]python3字符串与文本处理
转自:python3字符串与文本处理 阅读目录 1.针对任意多的分隔符拆分字符串 2.在字符串的开头或结尾处做文本匹配 3.利用shell通配符做字符串匹配 4.文本模式的匹配和查找 5.查找和替换文 ...
- 查看局域网中连接的主机名和对应的IP地址
1.查看局域网中的所有主机名 2.通过主机名解析IP地址:-4选项 3.通过IP地址解析主机名:-a选项