接口协议框架

来源:互联网 发布:mac 全角空格 编辑:程序博客网 时间:2024/05/29 19:09

app通讯协议

 

加密协议

1)所有请求包体前面8个字节是随机串,剩余所有的加密密文

 

2)加密key:

A)Body前面8个字节作为随机key

B)客户端固定写死一个key

 

加密过程

$DYNAMIC_KEY=12345678                #8动态密码

$FIXED_KEY=#$&(*#*$(#$&(             #固定写死的key

#两者拼接成后取md5为密钥, $KEY长度是32个字节

$KEY=md5_raw($DYNAMIC_KEY+$FIXED_KEY)

IV=0

 

#生成加密内容, 动态密码 拼上base64_encode 后的密文

$CIPHER_TEXT = $DYNAMIC_KEY + base64(aes-cbc-128($KEY, $PLAIN_TEXT))

解密过程

$KEY= md5_raw(Substr($CIPHER_TEXT, 0, 8) + $FIXED_KEY)  #得到密钥,密文前8字节为动态密码,拼上固定密码

 

Decrypt(base64_decode(Substr($CIPHER_TEXT, 8, -1)), $KEY, IV)            #进行解密,去掉前8字节后为base64_encode 后的密文

 

3)加密算法:

加密算法采用AES的CBC模式加解密。

 

5)http头包含字段(*必传字段)

packageName

packageVer

 

 

接口示例

 

1)/v1/user/register

Req:

{

“account”:”xxx”,    //账户名 游客为设备的deviced_id

“password”:”xxx”,   //设置密码

“app_id”:”1”    //每个应用各平台数据库端(卫军)会分配一个id号

“device_id”:””      //设备ID

“prd_id”:”1”       //每个应用数据库端(卫军)会分配一个id号

}

Res:

{

“code”:0,

”msg”:””,

“data”:{

“uid”:”xxx”,

“token”:””     

“expire_time”:””

}

}