从Erlang中torrent文件的信息字典中获取SHA哈希

从Erlang中torrent文件的信息字典中获取SHA哈希,erlang,bittorrent,Erlang,Bittorrent,我一直在尝试用Erlang解析一个torrent文件,到目前为止,我能够提取所有的一般信息,如torrent名称、文件(长度、路径、名称)、跟踪器链接 唯一困扰我的是sha1散列值。我在网上查了很多网站,根据规范,“信息”字典是需要散列的。 然而,我仍然对分隔符感到困惑。是否应包括d和e 最后,我认为如何从文件中读取数据很重要,现在我将文件作为二进制文件读取,然后在解析数据之前将其转换为列表。如果生成哈希,是否会更改/损坏哈希?是否有合适的数据类型(二进制/列表)能够正确提取信息字典 提前谢谢。

我一直在尝试用Erlang解析一个torrent文件,到目前为止,我能够提取所有的一般信息,如torrent名称、文件(长度、路径、名称)、跟踪器链接

唯一困扰我的是sha1散列值。我在网上查了很多网站,根据规范,“信息”字典是需要散列的。 然而,我仍然对分隔符感到困惑。是否应包括d和e

最后,我认为如何从文件中读取数据很重要,现在我将文件作为二进制文件读取,然后在解析数据之前将其转换为列表。如果生成哈希,是否会更改/损坏哈希?是否有合适的数据类型(二进制/列表)能够正确提取信息字典


提前谢谢。

我不确定我是否完全理解您想要什么,但我不是torrent文件专家。要从二进制文件获取SHA1,请执行以下操作:

如果您需要SHA2:

信息字典中的所有内容都应该进行散列,包括第一个和最后一个字符;d和e