我应该使用什么作为“魔法”?或“秘密”在我的图片网址中?
世界上任何知道完整资产 URL 的人都可以查看 Facebook 照片。每个 URL 都包含个人资料 ID、照片资产 ID、请求的大小以及防止暴力访问尝试的魔法哈希值。例如
/{profile-id}_{photo-id}_{magic}_{size}.jpg
:
http://profile.ak .fbcdn.net/hprofile-ak-snc4/hs443.snc4/50270_68310606562_2720435_n.jpg
Flickr对其URL做了类似的事情。一旦您知道照片的 ID、服务器 ID、场 ID 和秘密(由许多 API 方法返回),您就可以构建照片的源 URL。
URL 采用以下格式:
http://farm{farm-id}.static.flickr.com/{server-id}/{id}_{secret}.jpg
Facebook 和 Flickr 使用什么来发挥其“神奇”或“秘密”价值?随机生成的数字?图像的哈希值?配置文件和图像的哈希值?序列号?我应该用什么?
Facebook photographs are viewable by anyone in the world aware of the full asset URL. Each URL contains a profile ID, photo asset ID, requested size, and a magic hash to protect against brute-force access attempts. Something like:
/{profile-id}_{photo-id}_{magic}_{size}.jpg
For example:
http://profile.ak.fbcdn.net/hprofile-ak-snc4/hs443.snc4/50270_68310606562_2720435_n.jpg
Flickr does something similar with their URLs. You can construct the source URL to a photo once you know its ID, server ID, farm ID and secret, as returned by many API methods.
The URL takes the following format:
http://farm{farm-id}.static.flickr.com/{server-id}/{id}_{secret}.jpg
What are Facebook and Flickr using for their "magic" or "secret" value? A randomly generated number? A hash of the image? A hash of the profile and the image? A sequence number? What should I use?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
因此,我会将可用的 ID 组合成足够长的位字符串,并将其提供给 MD5 或 SHA1,并使用中间足够的数字作为秘密哈希。或者,我可以使用移位、加法和异或组合 ID 来创建例如 64 位值,然后使用该值作为 线性同余随机数生成器,具有已知参数,可在多次迭代中生成哈希值。
So I'd combine available IDs into a long enough bit string and feed it to MD5 or SHA1, and used enough digits from the middle as the secret hash. Alternatively, I'd combine the IDs to create a e.g. 64-bit value, using shifts, addition, and xor, then use that value as a seed for a linear congruential random number generator with known parameters to produce the hash in several iterations.