在我的项目中,我需要检查torrent Infohash是否有效。
任何人都可以建议我如何验证它?
答案 0 :(得分:0)
任何20个字节的序列(十六进制为40)都是语法上有效的 infohash。
答案 1 :(得分:0)
infohash 是从getGameUsers()
文件计算得出的值。
.torrent
文件是一种非常简单的数据编码。它使用编码 becoding 。 BEncoding支持:
.torrent
) i619e
) 13:Hello, world!
... l
) e
... d
) .torrent以字典开始。字典中最重要的元素是e
元素(尽管可以有其他元素):
info
为了计算 info 哈希,您可以计算 info 元素的所有内容的哈希。
实际编码非常简单:
{
"info": {
"files": [
{
"length": 1520384463,
"path": ["Star.Trek.Picard.S01E04.Absolute.Candor.1080p.CBS.WEB-DL.AAC2.0.x264-TEPES.mkv"]
},
{
"length": 689,
"path": "[TGx]Downloaded from torrentgalaxy.to .txt",
}
],
"name": "Star.Trek.Picard.S01E04.Absolute.Candor.1080p.CBS.WEBRip.AAC2.0.x264-TEPES[TGx]",
"piece length": 1048576,
"pieces": [1450 SHA-1 hashes, one for each piece]
}
}