视频直播 LIVE-Key防盗链:鉴权方式A

时间:2024-01-02 09:10:23

鉴权方式A

鉴权方式A主要通过Key、timestamp、rand(随机数)、uid(设置为0)和URL计算鉴权串。

鉴权URL格式
原始URL?auth_key={timestamp}-{rand}-{uid}-{md5hash}
md5hash的计算公式:
sstring = "{URI}-{Timestamp}-{rand}-{uid}-{Key}"
HashValue = md5sum(sstring)
表2 鉴权字段描述

字段

描述

timestamp

用户定义的有效访问时间起始点,值为1970年1月1日以来的当前时间秒数 。十进制或者十六进制整数。

示例:1592639100(即2020-06-20 15:45)

时长

鉴权URL有效的时间长度。

若设置的有效时间为1800s,则用户可在从timestamp开始的1800s内允许访问直播地址。超出该区间,鉴权失败。

示例:若设置的访问时间为2020-6-30 00:00:00,则链接真正失效时间为2020-6-30 00:30:00。

rand

随机数,建议使用UUID,不能包含中划线"-"。

示例:477b3bbc253f467b8def6711128c7bec

uid

userID。暂未使用,直接设置成0即可。

md5hash

通过md5算法计算出来的验证串,数字0-9和小写英文字母a-z混合组成,固定长度32。

sstring = "{URI}-{Timestamp}-{rand}-{uid}-{Key}"
HashValue = md5sum(sstring)

URI

指原始URL中从域名后开始到最后的路径。

示例:/livetest/huawei1.flv

Key

在控制台设置的防盗链Key值,具体请参见开启Key防盗链

鉴权URL示例

以生成播放鉴权地址为例,推流鉴权地址的生成与播放鉴权地址的生成方法相同。
原始URL:http://test-play.example.com/livetest/huawei1.flv
timestamp:1592639100
时长:1800s
Key:GCTbw44s6MPLh4GqgDpnfuFHgy25Enly
rand:477b3bbc253f467b8def6711128c7bec
uid:0
URI:/livetest/huawei1.flv
根据计算公式,得到md5hash
HashValue = md5sum("/livetest/huawei1.flv-1592639100-477b3bbc253f467b8def6711128c7bec-0-GCTbw44s6MPLh4GqgDpnfuFHgy25Enly") = dd1b5ffa00cf26acec0c169ae1cfabea

则鉴权播放地址为:

http://test-play.example.com/livetest/huawei1.flv?auth_key=1592639100-477b3bbc253f467b8def6711128c7bec-0-dd1b5ffa00cf26acec0c169ae1cfabea
support.huaweicloud.com/medialive-live/live_25_0025.html