【问题标题】:How To Calculate Torrent Info Hash In VB6如何在 VB6 中计算 Torrent 信息哈希
【发布时间】:2010-10-28 15:59:43
【问题描述】:

我知道您必须计算种子文件中 info dict 的 SHA1, 我正在努力解析信息字典,我需要在计算 sha1 哈希之前解码经过编码的信息字典吗?

我该怎么做?

【问题讨论】:

    标签: vb6 bittorrent


    【解决方案1】:

    info hashinfo 字典 的 SHA-1 哈希,采用编码格式。

    torrent 文件包含 元信息字典的编码表示,而元信息字典又包含 信息字典

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

    • 解码整个文件
    • 获取信息字典的一部分
    • 为散列重新编码。

    在伪代码中:

    metainfo = b_decode(contents_of("file.torrent"))
    info = metainfo.getValue("info")
    encoded_info = b_encode(info)
    info_hash = sha1(encoded_info)
    

    【讨论】:

    • 在某些情况下这是错误的,因为它会对未排序的 info-dict 进行排序,并且当 info-dict 出于某种原因未排序时,约定的约定是将 info-dict 原始哈希是(未排序的)。 Arvid 在此处描述了一种更安全的方法:stackoverflow.com/questions/19749085/…
    猜你喜欢
    • 2020-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-13
    • 2016-06-23
    • 1970-01-01
    • 2019-05-31
    相关资源
    最近更新 更多