为 xbtt 生成 torrent 的 info_hash

发布于 2024-08-28 03:20:24 字数 400 浏览 10 评论 0原文

我正在尝试创建自己的 torrent 跟踪器,但不知道如何生成用于跟踪 torrent 的 info_hash

这可以用 php 实现吗?

我正在使用此函数进行编码和解码 http://paste.lisp.org/display/17178

这是正确的哈希值吗?

$nn = file_get_contents('my.torrent');
$file = bdecode($nn);
$hash = sha1( bencode($file[info]) );

谢谢。

I am trying to create my own torrent tracker but dont know how to generate info_hash that is used xbtt to track torrents.

Is this possible with php?

I am using this function to bencode and decode http://paste.lisp.org/display/17178

Is this the correct hash?

$nn = file_get_contents('my.torrent');
$file = bdecode($nn);
$hash = sha1( bencode($file[info]) );

Thank You.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

给妤﹃绝世温柔 2024-09-04 03:20:24

根据 bittorrent 规范,info_hash 是一个 urlencoded 20 字节 SHA1 哈希值Metainfo 文件中的信息键。

您可以使用 sha1 函数和 url 使用 urlencode 进行编码 函数。

更新:

您的方法不正确。您需要对 torrent 文件进行 bdecode,这一步您已经完成了。但您需要根据 Metainfo(torrent)文件中 info 键的来计算 info_hash。
完成此操作后,您仍然需要对结果进行 urlencode,这似乎在当前的实现中也缺失。

According to the bittorrent specification the info_hash is an urlencoded 20-byte SHA1 hash of the value of the info key from the Metainfo file.

You can calculate the sha1 hash of a string in php using the sha1 function and url encode ot with the urlencode function.

UPDATE:

Your method is not correct. You need to bdecode the torrent file, which you have already done. But you need to calculate the info_hash based on the value of the info key from the Metainfo (torrent) file.
When you have done that, you still need to urlencode the result, which it seems is also missing from your current implementation.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文