• API接口加密方式说明


     

    标签: 接口
     分类:
     

    目录(?)[+]

     

    一、文档说明

    本文档适用于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加密,防止在传输过程中被截断篡改,接口不强制对参数顺序进行校验。

  • 相关阅读:
    T6-Tensorboard 可视化之训练过程
    T5-tensorboard 可视化之图层
    T4-分类学习 classification
    P1-Python3 爬虫实战之糗事百科段子
    iOS之NavigationBar随滑动隐藏或显示
    iOS 之UIButton左文右图
    iOS 之图片尺寸
    iOS 之各种Crash
    公司开发者账号申请(包括邓白氏码申请)
    iOS之滑动隐藏导航
  • 原文地址:https://www.cnblogs.com/yueguanguanyun/p/8520785.html
Copyright © 2020-2023  润新知