问题标签 [info-hash]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1961 浏览

c++ - 创建种子哈希信息

如何在 torrent 文件上生成 torrent 哈希信息。

我一直在看这个例子:How to calculate the hash of a torrent using Java and am trying to convert it to C++。这是我到目前为止的代码:

torrentstub参数是表示为字符串的 torrent 文件。据我了解,我必须获得之后的信息4:info。我认为这行得通,例如:

在此之后只有我无法读取的信息,我猜这是一些二进制数据?

所以我的问题实际上归结为:应该散列的信息是后面的所有内容,4:info我应该在哪里停止收集散列数据?

0 投票
1 回答
437 浏览

javascript - 我已经编写了自己的 javascript bencode 库,但仍然无法生成 torrent 信息哈希?

我到处寻找一个可以工作的 JavaScript Bencode 模块,但找不到,所以我决定自己写一个来生成种子信息哈希。

当我将功能写入规范时,该模块尽我所知。

字典 => 对象 => 键/值对

列表 => 数组对象 => 数字/值对

整数 => 数字对象

字符串...

无论如何,我对 torrent 文件的数据进行解码,然后对解码后的 info key 的值进行编码,接下来我使用 Google API 的 SHA-1 模块,并且 info hash 永远不会与原始文件匹配。我傻了。

我已经彻底测试了我的模块。我可以将数据解码并传递给我的编码函数,并且它与原始数据完全匹配,但是当我尝试从编码的信息部分值生成散列时,我得到一个不匹配的结果。

我相信这是由于 JavaScript 糟糕的二进制字符串处理,我不知道如何诊断或解决这个问题。

当我根据内容类型标头从获取请求中输出数据时,字符串的二进制部分显示不同,这就是我得出这个结论的原因。

我知道种子文件是 UTF-8 字符编码的,但在那之后我很无助......

感谢您提前提供任何帮助。

0 投票
2 回答
8562 浏览

c++ - 计算种子文件的信息哈希

我正在使用 C++ 解析 torrent 文件的信息哈希,与此站点相比,我无法获得“正确”的哈希值:

http://i-tools.org/torrent

我构建了一个非常简单的玩具示例,以确保我掌握了正确的基础知识。

我在 sublime 中打开了一个 .torrent 文件并剥离了除信息字典之外的所有内容,所以我有一个如下所示的文件:

我读了这个文件并用这段代码解析它:

像这样编译它:

我遇到了这个输出:

当我期待这个输出时:

有人知道我在这里可能做错了什么吗?问题可能出在文件末尾的不可读性上吗?我需要先将其解析为十六进制还是什么?

0 投票
1 回答
2028 浏览

libtorrent - python libtorrent 如何从 info_hash 获取 torrent 文件列表?

我想如果我可以从 info_hash 中获取 torrent 文件,那么我可以从 torrent 文件中获取文件列表。

但是当我运行我的代码时

没有结束。但是像http://magnet2torrent.com这样的网页会立即给我种子

如何从 info_hash 中获取文件列表?

0 投票
3 回答
59753 浏览

hash - 种子文件中的 info_Hash 到底是什么

我最近阅读了很多关于种子和磁力链接等的哈希。但是有一个我不明白的问题。

我有:

  • 文件的哈希
  • 和洪流的信息哈希

infohash文件的=散列吗?

如果是,如果 torrent 描述了 6 个要下载的文件怎么办?

如果不是,它代表什么?

0 投票
2 回答
1066 浏览

php - 在 PHP 中的 torrent 的宣布请求中翻译 info_hash

我很难理解如何将 info_hash 值“翻译”为真正的哈希值。这是我从 uTorrent 向我的跟踪器发布消息时得到的一个示例:

我想了解的是如何获取这个奇怪的值:“YNvÿ@p”并将信息哈希获取为 sha1(如:594E98760099B1CFC3BFAA4070C0CC02F6C1AA90)?我在我的服务器上使用 PHP。

现在我已经阅读了以下声明:

信息哈希

元信息文件中信息值的编码形式的 20 字节 sha1 散列。请注意,这是元信息文件的子字符串。info-hash 必须是在 .torrent 文件中找到的编码形式的哈希,无论它是否无效。这个值几乎肯定会被转义。

但这对我理解发生了什么没有多大帮助。

0 投票
1 回答
2322 浏览

linux - 如何将 base64 编码的 torrent info_hash 转换为磁力链接 info_hash?(Linux)

我有一个 base64 编码的 info_hashes 列表,例如:

但是当我运行时echo ... | base64 -d,它并没有给我真正的 infohash,而是一堆乱码。

如何从 base64 编码的链接中获取可用于磁力链接的真实 info_hash?

提前致谢。

0 投票
2 回答
158 浏览

java - 无法创建 torrent 的信息哈希

我无法找到如何为 torrent 文件生成相应信息哈希的问题。这是我到目前为止的代码:

以下是我的预期和实际哈希:

我试图为其生成信息哈希的 torrent 可以在此处找到 (Ubuntu 14.04 Desktop amd64)

如果我可以提供更多信息,请告诉我,谢谢!

0 投票
0 回答
25 浏览

javascript - url 为 bittorent 协议编码哈希

我正在尝试生成info_hash用于与跟踪器通信的 bittorent 协议。

但我不断收到无效的 info_hash 错误。问题似乎出在我的代码的 urlencoded 部分,但我不确定。

我生成了一个经过编码的 metainfo.info 的 sha1 并axios用来发送我的notify

axios 是否进一步编码参数什么是对 20 字节数组进行 urlencode 的最佳方法?

在我的代码下面: