视频点播 VOD-Key防盗链:加密算法D
加密算法D
鉴权URL格式
原始URL?auth_info={加密串}.{EncodedIV}
- 加密原始串 = url_encoding({path}+"$"+{Timestamp})
- 加密串 = aes_cbc_128_pkcs5padding(原始加密串,key,IV)
- EncodedIV = hex(IV)
字段 |
描述 |
---|---|
path |
指从域名开始,到最后一层目录,包括域名后的“/”,也包含最后一层目录后的“/”,不包括文件名。 示例:/asset/32237c8f68fcc6071a2d8e3421eee20d/play_video/ |
Timestamp |
鉴权URL生成时间,UTC时间,格式为yyyyMMddHHmmss,用于检查鉴权参数是否过期。 示例:20190805101025 |
key |
在控制台设置的防盗链Key值,具体请参见配置步骤。 |
IV |
随机生成的bytes数组,长度为16。 hex():将bytes数组转换成十六进制的字符串。
生成IV生成示例代码如下所示:
byte[] iv = new byte[16]; SecureRandom secureRand = new SecureRandom(); secureRand.nextBytes(iv); |
原始URL:https://179.cdn-vod.huaweicloud.com/asset/32237c8f68fcc6071a2d8e3421eee20d/play_video/index.m3u8 path:/asset/32237c8f68fcc6071a2d8e3421eee20d/play_video/ key:8Ks1qn14XRO28qOa Timestamp:20190805102430
原始加密串 = url_encoding("/asset/32237c8f68fcc6071a2d8e3421eee20d/play_video/") + "$" + "20190805102430" 加密串 = aes_cbc_128_pkcs5padding(原始加密串,key,IV) = 34M%2F6KtYgxuAozdBLIVTe0dUVAZdvXsYQoYAnDmuhRHh1hshYg%2B2Tl0AmSwySDh%2BmkER44qYKpSP%2BgfsLM%2FIZe4F6K4n1Nx6ouGwyKfqdDA%3D EncodedIV = hex(IV) = 79436d453636364e335941713330534e
https://179.cdn-vod.huaweicloud.com/asset/32237c8f68fcc6071a2d8e3421eee20d/play_video/index.m3u8?auth_info=34M%2F6KtYgxuAozdBLIVTe0dUVAZdvXsYQoYAnDmuhRHh1hshYg%2B2Tl0AmSwySDh%2BmkER44qYKpSP%2BgfsLM%2FIZe4F6K4n1Nx6ouGwyKfqdDA%3D.79436d453636364e335941713330534e