Генерация info_hash торрента для xbtt - PullRequest
2 голосов
/ 08 апреля 2010

Я пытаюсь создать свой собственный торрент-трекер, но не знаю, как создать 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 Ответ

1 голос
/ 08 апреля 2010

В соответствии со спецификацией bittorrent хэш-информация представляет собой 20-байтовый хеш-код SHA1 значения информационного ключа из файла Metainfo .

Вы можете вычислить хэш sha1 строки в php с помощью функции sha1 и кодирования URL с помощью функции urlencode.

UPDATE:

Ваш метод неверен. Вам нужно bdecode торрент-файл, который вы уже сделали. Но вам нужно вычислить info_hash на основе значения ключа info из файла Metainfo (torrent) . Когда вы это сделаете, вам все еще нужно будет urlencode результата, который, по-видимому, также отсутствует в вашей текущей реализации.

...