我尝试解码哈希来从scrape文件构建磁体uri(从coppersurfer.tk网站下载)
分割巨大文件后
我尝试解码哈希文件
hash = hashlib.sha1(f).hexdigest() # hash info
并获得了诸如
之类的列表6768033e216468247bd031a0a2d9876d79818f8f : {'downloaded': 2374, 'complete': 0, 'incomplete': 75}
e5eaaedf19d4602337c71b041a669b9d70bda764 : {'downloaded': 0, 'complete': 0, 'incomplete': 1}
a2e43672a55dcda5d6b1cbdf356da4f6a3e6178d : {'downloaded': 0, 'complete': 0, 'incomplete': 1}
ea01e99635aa17b7d9803c3004210202b1e9e612 : {'downloaded': 1, 'complete': 0, 'incomplete': 2}
b9c569eb1820a1a67633757fc96801ed0c8f3281 : {'downloaded': 1085, 'complete': 1, 'incomplete': 0}
92c9de8c9a40405f56aa5c4d55c22720a208207f : {'downloaded': 0, 'complete': 0, 'incomplete': 1}
a398de47b654426f4ef39054c8bbfe9f0348cd74 : {'downloaded': 304, 'complete': 1, 'incomplete': 0}
11a9f43eead2164042c87bf75fa72d885d4afe86 : {'downloaded': 0, 'complete': 0, 'incomplete': 1}
254b675173ccb75085a0e25a1da6c1ec2c5846a0 : {'downloaded': 0, 'complete': 0, 'incomplete': 1}
但当我把它组合起来创造磁铁uri时,如
magnet:?xt=urn:btih:6768033e216468247bd031a0a2d9876d79818f8f
并尝试在torrent客户端下载它,它似乎没有工作(我尝试多个其他哈希具有相同的结果)
你知道我需要做什么才能正确解码哈希吗?
谢谢你的帮助
答案 0 :(得分:0)
scrape文件应该已经包含原始(20byte)表示中每个torrent的哈希值,不需要额外的哈希。您需要做的就是将它们转换为十六进制表示。
答案 1 :(得分:0)
scrape文件<form ngNoForm ... >
包含一个 bencoded 完整的scrape,从示例中可以看出,它已被正确解码。
转换为磁铁链接也正确完成
但是,搜索full_scrape_not_a_tracker.tar.gz
的结果是:
6768033e216468247bd031a0a2d9876d79818f8f
即它不是真正的 info_hash ,因此完整的scrape可能包含一些虚假的 info_hashes 。
测试有播种机的种子可能更好
即6768033e216468247bd031a0a2d9876d79818f8f = sha1( 0x0000000000000000000000000000000000000000 )
值不为零的那些
所以继续测试哈希,最终会变成真正的洪流。
此外,在磁力链接中添加跟踪器可能会加快查找速度。
'complete'