私はBitTorrentサイトを作成しています。トレントファイルの情報ハッシュを作成する際の問題
ユーザーが.torrentファイルをアップロードする場合、トラッカーから詳細情報を取得するために情報ハッシュを取得する必要があります。
しかし、ファイルから正しい情報ハッシュを取得できないようです。
私はmininovaから.torrent(http://www.mininova.org/get/2886852)をダウンロードしました。
mininovaによると、情報ハッシュは:6a7eb42ab3b9781eba2d9ff3545d9758f27ec239(http://www.mininova.org/det/2886852)である必要があります。しかし、ファイルの情報ハッシュを作成しようとすると、次のようになります。3d05f149e604b1efaa0ed554a31e693755de7cb0
私は正しい情報ハッシュを得ることができないという手掛かりはありません。
私が正しく理解していれば、トレントデータの情報セクションからハッシュを作成する必要があります。
関連するコード:
$bencode = new BencodeModel();
$data = $bencode->decode_file($form->fields['filename']->saved_file);
$hash = $torrentmanager->create_hash($data['info']);
BencodeModel(ここに投稿するには長すぎる):http://pastebin.com/Zc5i94DQ
ハッシュ関数を作成します。
function create_hash($info)
{
$bencode = new BencodeModel();
return urlencode(sha1($bencode->encode($info)));
}
私はどこ暗闇の中で完全によ私は間違っている。どんな助けでも大歓迎です!
詳細情報が必要な場合は、私に連絡して関連情報を更新します。
EDIT
としては、SHA1のデータを要求した:
var_dump($bencode->encode($info));
EDIT
これは、より多くの奇妙ななっています。
私はライブサーバー(Linux上で動作します)にサイトを展開し、そのサーバーでハッシングが機能しています。
ただし、私の開発マシン(Windows)ではまだ動作しません。
私はすでに改行/改行を置き換えようとしました。
アイデア?
また、あなたがsha1' 'に供給終わるをお聞かせすると便利でしょう。 – Jon
@ジョン:質問 – PeeHaa
@hakreに更新:急流のみ1情報のハッシュを持つことができ、それは情報のためのscrape' 'に使用されているので。そして、私は手動で私は私が必要とする情報を取得そのハッシュを使用して情報を取得しようとすると:http://tracker.mininova.org/scrape?info_hash=6a7eb42ab3b9781eba2d9ff3545d9758f27ec239 – PeeHaa