我正在尝试创建自己的种子跟踪器,但不知道如何生成使用info_hash
跟踪种子的xbtt
。
这可以用PHP吗?
我正在使用此功能来编码和解码http://paste.lisp.org/display/17178
这是正确的哈希吗?
$nn = file_get_contents('my.torrent');
$file = bdecode($nn);
$hash = sha1( bencode($file[info]) );
谢谢。
答案 0 :(得分:1)
根据bittorrent specification,info_hash是来自Metainfo文件的信息密钥值的 urlencoded 20字节SHA1哈希值。
您可以使用sha1
函数计算php中字符串的sha1哈希值,并使用urlencode
函数计算url编码。
<强>更新强>
您的方法不正确。您需要对您已经完成的torrent文件进行bdecode。但是您需要根据Metainfo(torrent)文件中 info 键的 值来计算info_hash。 完成后,您仍需要对结果进行urlencode,这似乎也是当前实现中缺失的结果。