API接口加密方式说明

一,文档说明

     本文挡适用于api接口开发人员,移动端开发人员,针对移动端请求API接口时加密方式以及加密规则进行说明

二,加密方式

     1.不采取非对称加密说明

    好处:

    相对于对称加密,非对称加密安全性远远高宇对称加密,能够保证在数据传输中数据被劫持之后不被破解。

    缺点:

    由于非对称加密 [ openssl rsa ],密钥为1024bit时候最多值能加密117个字符,而且加解密相对于对称加密速度会慢,目前接口和app交互数据较多时候,只能采取分段加密之后拼装,解密时候也需要分段解密,不适用当前使用场景

     2.非对称加密方式说明

     (1)加密算法说明

     加密算法: AES

     加密模式: CBC

     填充方式: PKCS7

     加密秘钥: Beijinglyijigo.com

     (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传递给接口

     校验值生成步骤:

     1)将接口需要的参数组装成数组[IOS为字典, android为hashmap]

     2)将接口参数排序之后,将Key_value拼接为一个字符串

     arr = array('a' =>1, 'b' =>2);

     拼装之后为a1b2

     3)将拼接的字符串MD5

     4)将加密之后的MD5值作为请求接口的参数传递(和data, tt, vc平级)

     备注

     用于对请求参数进行校验,接口在接收到参数时,需要对参数进行排序,json之后进行MD5校验,接口参数不强制要求按照文档顺序,校验值必须排序之后再进行MD5加密,防止在传输过程中被截断篡改,接口不强制对参数顺序进行校验




 




  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值