如何生成token值

1 篇文章 0 订阅

Token 值是将请求源串以及 Secret 通过 MD5 算法生成的,用来提高传输过程参数的防篡改性。
token 值的生成共有 2 个步骤:构造源串,生成 token 值。

1. 构建源串

a.获取要请求 URI(统一资源标识符,即域名后面的地址串
示例:/openapi/service/vss/preview/getPreviewParamByCameraUuid);
b.将输入参数(系统参数和业务参数)生成 JSON 串;
c.将 a 中 URI 和 b 中得到的字符串和 secrect 拼接起来得到源串。

源串构造示例
这里写图片描述

  1. 原始请求信息:
    screct:aa7aa8a8fa604c60866413f52563b70c
    HTTP 请求方式:POST
    请求的 URI 路径(不含 HOST):/openapi/service/vss/preview/getPreviewParamByCameraUuid
    请求参数:
{
     "appkey": "61fdb13b",
     "time": 1479364577369,
     "opUserUuid": "43a9a55f76474bde89ecabc1d6914a7f",
     "cameraUuid": "b785bcf358154a4594651b4b21ddd0af",
     "netZoneUuid": "11d0e493870d40f9b2589
}
  1. 构造源串
    a.获取要请求的 URI:/openapi/service/vss/preview/getPreviewParamByCameraUuid
    b.将输入参数(系统参数和业务参数)生成 JSON 串:{“appkey”:”24982ba6”,”time”:1479364577369,”opUserUuid”:”4
    3a9a55f76474bde89ecabc1d6914a7f”,”cameraUuid”:”b785bcf358154a4594651b4b21ddd0af”,”netZoneUuid”:”11d0e4938
    70d40f9b2589383cf73001f”}
    c.将前两步中得到的字符串和 secrect 拼接起来得到源串(请求 URI+参数串+secret):
“/openapi/service/vss/preview/getPreviewParamByCameraUuid{"appkey":"24982ba6","time":1479364577369,"opUserUuid":"43a9a55f76474bde89ecabc1d6914a7f","cameraUuid":"b785bcf358154a4594651b4b21ddd0af","netZoneUuid":"11d0e493870d40f9b2589383cf73001f"}aa7aa8a8fa604c60866413f52563b70c”

注:生成 token 的请求参数顺序与请求 URL 中的参数顺序保持一致

2. 生成 token 值

使用 MD5 算法对 1 中得到的源串进行运算,得到 token 值(大写):

MD5(/openapi/service/vss/preview/getPreviewParamByCameraUuid{"appkey":"24982ba6","time":1479364577369,"opUserUuid":"43a9a55f76474bde89ecabc1d6914a7f","cameraUuid":"b785bcf358154a4594651b4b21ddd0af","netZoneUuid":"11d0e493870d40f9b2589383cf73001f"}aa7aa8a8fa604c60866413f52563b70c)

token 值:5067D805D98456393A1C5DFE849B883B
注:每次请求都重新生成 token 值,token 值为 32 位长度的大写字

3、发起请求

将 token 参数和值拼接到 POST 请求 URL 后面

http://IP:PORT/openapi/service/base/user/getPreviewParamByCameraUuid?token=5067D805D98456393A1C5DFE84
9B883B
  • 10
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值