视频直播 Live-Key防盗链:鉴权方式A
鉴权方式A
鉴权方式A主要通过Key、timestamp、rand(随机数)、uid(设置为0)和URL计算鉴权串。
原始URL?auth_key={timestamp}-{rand}-{uid}-{md5hash}
sstring = "{URI}-{Timestamp}-{rand}-{uid}-{Key}"HashValue = md5sum(sstring)
字段 |
描述 |
---|---|
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中从 域名 后开始到最后的路径。
|
Key |
在控制台设置的防盗链Key值,具体请参见开启Key防盗链。 |
鉴权URL示例
- 标准直播场景
以生成播放鉴权地址为例,推流鉴权地址的生成与播放鉴权地址的生成方法相同。
原始URL:http://test-play.example.com/livetest/huawei1.flvtimestamp:1592639100时长:1800sKey:GCTbw44s6MPLh4GqgDpnfuFHgy25Enlyrand:477b3bbc253f467b8def6711128c7becuid:0URI:/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