API接口加密方式说明
来源:互联网 发布:青少年上网过滤软件 编辑:程序博客网 时间:2024/04/29 19:35
一、文档说明
本文档适用于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接口加密方式说明
- Api接口加密策略
- API接口说明
- 接口访问加密方式
- IOS加密api数据接口
- WINHTTP的API接口说明。
- WINHTTP的API接口说明
- FastDFS接口API文档说明
- WINHTTP的API接口说明。
- sqlite 基本API接口说明
- CCBPM 常用API接口说明
- WINHTTP的API接口说明。
- WINHTTP的API接口说明
- 农历查询API接口说明,农历API
- SAP接口程序方式说明
- ngx_Lua模块中的加密api接口
- 接口加密《二》: API权限设计总结
- API接口鉴权及加密
- 求一个字符串的最长不重复子串的最大长度
- android SDK编译版本修改
- NinePatchDrawable 简单代码应用
- JavaScript基础:数据类型,变量命名规范
- arm MMU详解
- API接口加密方式说明
- 不要62
- UnsatisfiedLinkError: No implementation found
- 自定义EditText
- 输入今天是星期几,求若干天后是星期几
- 【计算机视觉】【神经网络与深度学习】论文阅读笔记:You Only Look Once: Unified, Real-Time Object Detection
- IO处理流简单应用
- rss订阅
- Apache 2.2 配置反向代理