为xbtt生成torrent的info_hash

时间:2010-04-08 15:10:11

标签: php bittorrent

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

这可以用PHP吗?

我正在使用此功能来编码和解码http://paste.lisp.org/display/17178

这是正确的哈希吗?

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

谢谢。

1 个答案:

答案 0 :(得分:1)

根据bittorrent specification,info_hash是来自Metainfo文件的信息密钥值的 urlencoded 20字节SHA1哈希值。

您可以使用sha1函数计算php中字符串的sha1哈希值,并使用urlencode函数计算url编码。

<强>更新

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