据我所知,你必须在torrent文件中计算信息字典的SHA1, 我正在努力解析信息字典,我是否需要在计算sha1哈希之前解码bencoded信息字典?
我该怎么办?
答案 0 :(得分:6)
info hash 是采用bencoded格式的 info dictionary 的SHA-1哈希值。
torrent文件包含元信息词典的bencoded表示,后者又包含信息词典。
您必须获取文件的 info dictionary 部分才能计算其哈希值。假设您可以访问bencode编码器和解码器,您可以:
在伪代码中:
metainfo = b_decode(contents_of("file.torrent"))
info = metainfo.getValue("info")
encoded_info = b_encode(info)
info_hash = sha1(encoded_info)