约定规则:
客户端和服务器端可以约定多种加密和解密规则。每对加密解密方式严格对称加密即可。
header:
- sign(校验签,利用对称加密算法aes对自己定义有规则的数据进行加密)
- app_version (app版本)
- type (版本类型)
- other (其他)
- token(如果有涉及到用户登陆这一块就需要加上一个token的口令令牌)
body:
{
'status':200;
'message':'OK',
'data':XXXXXXXXXXX//加密数据
}
url规范:
遵循restful接口规范
sign的设计方式:
加密方式://自行定义加密方式
encrypt(microtime+app_version+type+device_tag+salt)得到sign
验证方式:
解密:decrypt(sign)
验证:解密参数是否正确,验证解密传输数据是否超时,通过cache验证解密数据是否重复
存储:将sign存储在cache中,并设置一个超时失效时间
token的设计方式:
1、用户登陆,
2、登陆成功服务器返回aes加密token(有必要的加上时间参数来加密验证参数有效性),并将token通过MD5+salt加密方式以key-value的形式存储在服务器中
3、用户获取加密的token,解密,保存token,MD5+salt加密token,每次访问都再将头部带上token传输
4、服务器获取通过MD5+salt加密的token,验证,获取用户信息,返回信息