网络数据通信、加密、解密笔记

  1. Http请求与Https

  2. Token授权机制:用户使用用户名密码登录后服务器给客户端返回一个Token (通常是UUID) ,并将Token-Userld以键值对的形式,存放在缓存服务器中。服务端接收到请求后进行Token验证,如果Token不存在,说明请求无。

  3. sign签名:每个网络请求都会有一个sign。在header里面有些对应的字段标记,它会通过一定的算法做这个sign校验来验证它是合法性的、是一个正确的请求。将请求参数用MD5或SHA-1算法加密,加密后的数据为本次请求的签名sign,并将该签名存放到缓存服务器中,超时时间设定为跟时间戳的超时时间一致(这就是为什么要尽量短,二者时间一致可以保证无论在timestamp规定时间内还是外本URL都只能访问一次)服务端接收到请求后以同样的算法得到签名,并跟当前的签名进行比对,如果不一样,说明参数被更改过,直接返回错误标识。同一个签名只能使用一次 如果发现缓存服务器中已经存在了本次签名,则拒绝服务,保证不会被重复调用

  4. 签名规则:设所有参数为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序) ,使用URL键值对的格式(即key1=value1 &key2=value2…) 拼接成字符串stringA
    參数名ASCI1码从小到大排序(字典序) ;
    如果参数的值为空不参与签名;参数名区分大小写;
    sign参数不参与签名,将生成的签名与该sign值作校验。
    在stringA最后拼接上appkey得到stringSignTemp字符串,并对stringSignTemp进行MD5(32位)运算,再将得到的字符串所有字符转换为大写,得到sign值

  5. 数据加密:数据交换采用AES加密算法加密,密: appkey (32位) ,向量:前16位,模式: CBC,填充: PKCS7请求参数中如包含了敏感数据(如密码等)则需要对敏感数据进行加密返回数据中的业务数据(data字段)一律进行加密,客户端需自行解密
    {
    “code”:1.",
    message": “the message”,
    “data”:"加密后的字符串
    }
    appid :用于hrad里面生成sign的关键配置。
    appkey: 用于返回的数据解析。

  6. 请求(Request)
    接口规则
    按照参数名ASCII码从小到大排序
    在这里插入图片描述

  7. 响应 (Response)
    在这里插入图片描述
    在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值