V Manual Encrypt
一、首先在【POLYV后台】——【设置】——【加密设置】进行如下设置:
二、保存好以上设置之后,还需要在页面的播放代码中添加ts和sign参数。当移动端WEB浏览器请求m3u8时,会在m3u8地址后面附带ts和sign参数,POLYV云平台接收到参数后会对ts和sign参数进行校验。若校验通过,返回正确的解密密钥key文件链接给客户端。反之,非法访问key,则会响应400错误状态。
三、PHP为示例代码
参数说明:
$secretkey (为账号secretkey,可在后台---设置---API接口窗口中查阅)
$vid (为视频ID,可在视频列表中查找)
$ts = time()*1000; (ts参数为13位的毫秒级时间戳或者用10位的秒级时间戳,后面加多3个0)
$sign = md5($secretkey.$vid.$ts); (sign参数为secretkey、vid、ts的值按顺序拼凑起来的字符串进行MD5计算得到的结果)
由于移动端WEB是通过HTML5的video标签调用手机系统的原生播放器去播放视频,需要将解密密钥key通过http传输给手机系统的原生播放器。当key的权限为“开放授权”时,key永久生效,无需带上时间戳ts和签名sign去访问。当key的权限为“WEB授权”时,则需要带上时间戳ts和签名sign,才能正确访问到key。web加密的ts和sign是一次有效性的。
与移动端WEB网页不同的是,PC端WEB网页播放加密视频时,无需通过http去传输key,在播放的过程中,POLYV的Flash播放器会调用播放器内部的解密算法,去解密播放加密视频,无需担心key传输和暴露的问题。
设置【WEB授权】虽然有更多的播放选择,可以在移动端网页上播放,但加密强度弱于【APP授权】。如果希望视频文件的加密安全得到更好的保障,通常推荐移动端加密使用【APP授权】。
四、解密密钥的“WEB授权”过程原理,如下图所示:
Last updated