一、Type-D 鉴权原理
腾讯云 CDN Type-D 鉴权通过在 URL 中添加时间戳和 MD5 签名参数实现防盗链保护,其标准格式为:http://DomainName/FileName?sign=md5hash&t=timestamp
。其中 timestamp 为十进制 Unix 时间戳,md5hash 通过密钥、资源路径和时间戳拼接后计算生成。
二、URL 生成步骤
- 获取当前 Unix 时间戳(精确到秒级)
- 拼接签名字符串:密钥 + 资源路径 + 时间戳
- 对签名字符串进行 MD5 加密生成32位哈希值
- 组合最终 URL:原资源地址 +
?sign=
+ MD5结果 +&t=
+ 时间戳
例如资源路径为 /video.mp4
时,签名公式为:md5(密钥+/video.mp4+1660000000)
。
三、代码实现示例
// Java 示例代码
String key = "/upload/example.jpg";
String timestamp = String.valueOf(System.currentTimeMillis / 1000);
String signStr = CDN_KEY + key + timestamp;
String md5Hash = DigestUtils.md5Hex(signStr);
String finalUrl = CDN_DOMAIN + key + "?sign=" + md5Hash + "&t=" + timestamp;
该示例展示了如何通过密钥拼接和 MD5 计算生成带鉴权的完整 URL。
四、注意事项
- 时间戳有效时间建议设置在 600-86400 秒区间
- URL 中禁止包含中文字符或问号参数
- 密钥需通过腾讯云控制台获取并定期更换
- 需使用 UTF-8 编码处理资源路径
Type-D 鉴权通过动态签名机制有效防止资源盗链,开发者需注意时间戳精度、路径格式规范及密钥安全管理。该方案适用于需要精确控制访问时效性的多媒体资源分发场景。
本文由阿里云优惠网发布。发布者:编辑员。禁止采集与转载行为,违者必究。出处:https://aliyunyh.com/597102.html
其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。