算法原理
Type-D鉴权URL格式为:http://DomainName/FileName?sign=md5hash&t=timestamp
,其中包含两个核心参数:
- t:Unix时间戳(十进制或十六进制)
- sign:通过MD5(密钥+文件路径+时间戳)生成的32位字符串
该算法通过验证签名与时间有效性,防止未授权访问。URL中不能包含中文,且不支持带参数的资源路径。
生成步骤
- 获取当前Unix时间戳(单位秒)
- 拼接鉴权字符串:
密钥+资源路径+时间戳
- 生成MD5哈希值作为sign参数
- 组合最终URL参数
有效时间建议设置为业务需求的最小值,避免因时间过长导致安全风险。
配置指南
在腾讯云控制台完成以下操作:
- 进入CDN控制台「域名管理」
- 选择「访问控制」-「鉴权配置」
- 开启Type-D鉴权模式
- 设置密钥和有效时间(最大630720000秒)
代码示例
// 获取时间戳(秒级)
long time = System.currentTimeMillis;
String nowTimeStamp = String.valueOf(time / 1000);
// 拼接签名
String sign = CDN_AUTH_MAIN_KEY + originPath + nowTimeStamp;
String paramSign = DigestUtils.md5Hex(sign);
// 生成最终URL
String finalUrl = CDN_PATH + key + "?sign=" + paramSign + "&t=" + nowTimeStamp;
通过Type-D鉴权机制可有效防止资源盗链,建议结合最小有效时间策略和密钥轮换机制,定期更新鉴权密钥以提升安全性。实际开发中需注意时间戳精度转换和URL编码规范,避免因格式错误导致鉴权失败。
本文由阿里云优惠网发布。发布者:编辑员。禁止采集与转载行为,违者必究。出处:https://aliyunyh.com/557029.html
其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。