维基百科是否使用不同的方法来计算图像路径的哈希部分?
我正在使用 dbpedia 的 extract_framework(ImageExtractor#getImageUrl) 来 获取图像的 url(前两个字符的 md5)
val md = MessageDigest.getInstance("MD5")
val messageDigest = md.digest(fileName.getBytes)
val md5 = (new BigInteger(1, messageDigest)).toString(16)
val hash1 = md5.substring(0, 1)
val hash2 = md5.substring(0, 2);
val urlPart = hash1 + "/" + hash2 + "/" + fileName
大多数情况下,该函数可以正常工作,但在少数情况下,它 不正确:
对于“Stewie_Griffin.png”,我得到 2/26/Stewie_Griffin.png 但真正的 一个是 0/02/Stewie_Griffin.png
源文件信息在这里: http://en.wikipedia.org/wiki/File:Stewie_Griffin.png http://upload.wikimedia.org/wikipedia/en/0/02/Stewie_Griffin.png
有什么想法为什么哈希方案有时不起作用?
I'm using dbpedia's extraction_framework(ImageExtractor#getImageUrl) to
get the url of an image(the md5 of the first two chars)
val md = MessageDigest.getInstance("MD5")
val messageDigest = md.digest(fileName.getBytes)
val md5 = (new BigInteger(1, messageDigest)).toString(16)
val hash1 = md5.substring(0, 1)
val hash2 = md5.substring(0, 2);
val urlPart = hash1 + "/" + hash2 + "/" + fileName
Most of the time, the function works correctly but on a few cases, it
is incorrect:
For "Stewie_Griffin.png", I get 2/26/Stewie_Griffin.png but the real
one is 0/02/Stewie_Griffin.png
The source file info is here:
http://en.wikipedia.org/wiki/File:Stewie_Griffin.png
http://upload.wikimedia.org/wikipedia/en/0/02/Stewie_Griffin.png
Any ideas why the hashing scheme doesn't work sometimes?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
OQ 在 MediaWiki API 邮件列表上对您的问题的回复 似乎是正确的:
OQ's response to your question on the MediaWiki API mailing list seems to be right:
总结一下:要计算维基百科图像的路径,您需要使用 org.apache.commons.codec.digest.DigestUtils#md5Hex:
Just to summarize: to compute a path to Wikipedia image you need to use org.apache.commons.codec.digest.DigestUtils#md5Hex:
这是一个用 JavaScript 实现的,用于检索图像文件的绝对路径。
Here is an implementation, in JavaScript, for retrieving the absolute path of image files.