日期:2014-05-17  浏览次数:20852 次

今天逛论坛看到的附件下载url加密,求解
今天在论坛下附件,需要论坛币。提交论坛币后返回一个url,即可下载。
比如我下aid=939692的附件
则最后url为http://bbs.gamesir.com/forum.php?mod=attachment&aid=OTM5NjkyfDFlYWUxNTQyfDEzMjg3ODI0MzZ8NDkwNzgzfDE1ODI3Nw%3D%3D&ck=8ad1d544
其中aid=后面是60位 ck=是校验和吧

下载aid=939691的附件 则url
http://bbs.gamesir.com/forum.php?
mod=attachment&aid=OTM5NjkxfGJkMGZlZWY4fDEzMjg3ODI1MTB8NDkwNzgzfDE1ODI3Nw%3D%3D&ck=980ebfbf

奇怪的是下载同一个附件url中aid都会变化
我第二次下载aid=939692的附件
url是
http://bbs.gamesir.com/forum.php?
mod=attachment&aid=OTM5NjkyfDliNmExMTRifDEzMjg3ODMzMzZ8NDkwNzgzfDE1ODI3Nw%3D%3D&ck=ef630fca
中间几位变了
这是种什么加密?

------解决方案--------------------
其实未必是加密,它只是要防止非授权下载而已。

所以生成一个跟附件ID、时间、用户身份有关的特殊序列,本身不需要加密,重要的是无法猜解。
------解决方案--------------------
中间的加密key是随机的,从一个字符串中截取几位。