API接口加密方式說明

 

標籤: 接口
 分類:
 

目錄(?)[+]html

 

1、文檔說明

本文檔適用於api接口開發人員、移動端開發人員,針對移動端請求API接口時加密方式以及加密規則進行說明。android

2、加密方式

1.不採起非對稱加密說明

好處:ios

相對於對稱加密,非對稱加密安全性遠遠高宇對稱加密,可以保證在數據傳輸中數據被劫持以後不被破解。算法

缺點:json

因爲非對稱加密 [ openssl rsa ],密鑰爲1024bit時候最多值能加密117個字符,並且加解密相對於對稱加密速度會慢,目前接口和app交互數據較多時候,只能採起分段加密以後拼裝,解密時候也須要分段解密,不適用當前使用場景。api

 

2.非對稱加密方式說明

(1)加密算法說明

 

加密算法:AES數組

加密模式:CBC安全

填充方式:PKCS7app

加密密鑰: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加密,防止在傳輸過程當中被截斷篡改,接口不強制對參數順序進行校驗。

相關文章
相關標籤/搜索