如何在VB6中计算Torrent信息哈希值

0 vb6 bittorrent

我知道你必须在torrent文件中计算信息字典的SHA1,我正在努力解析信息字典,我是否需要在计算sha1哈希之前解码bencoded信息字典?

我该怎么做?

Ale*_*min 6

信息哈希是的SHA-1散列信息词典在B编码格式.

torrent文件包含元信息字典的bencoded表示,后者又包含信息字典.

您必须获取文件的信息字典部分才能计算其哈希值.假设您可以访问bencode编码器和解码器,您可以:

  • 解码整个文件
  • 信息词典的一部分
  • 重新编码它以进行散列.

在伪代码中:

metainfo = b_decode(contents_of("file.torrent"))
info = metainfo.getValue("info")
encoded_info = b_encode(info)
info_hash = sha1(encoded_info)
Run Code Online (Sandbox Code Playgroud)