2011-01-03 6 views
1

Ich schreibe eine Java-App, um die Tracker in einer Torrent-Datei zu sehen.Torrent-Tracker-Antwort mit der gleichen Peer-ID für jede Anfrage?

sende ich folgendes:

http://pow7.com/announce?info_hash=%3f%99%79%31%73%27%9e%be%1d%d2%cd%5f%af%98%7c%17%5f%43%89%f3&peer_id=-jT1000-122843C6A4B0&port=6881&downloaded=0&left=0 

Aber es ist egal, was info_hash Ich sende ich entweder die gleichen Kollegen IP-Adresse zurück (74.253.253.31:6757) oder ein Fehler.

Irgendwelche Ideen, warum das passiert?

Mit freundlichen Grüßen, TX

+0

In der Spezifikation heißt es: info_hash Den 20-Byte-SHA1-Hash der bencoded Form der Info Wert aus der Metainfo-Datei. Beachten Sie, dass dies eine Teilzeichenfolge der Metainfo-Datei ist. Vergessen Sie nicht, dies zu URL-encodieren. Ist das eines der "Info/Teile" in der Torrent-Datei? oder wie erzeuge ich diesen Hash? – TungstenX

Antwort

0

Ok, ich glaube, ich die Antwort auf meine Frage gefunden: braucht man einen SHA1-Hash aus dem Wert des Info-Schlüssel zu generieren. Ich nehme alle Bytes von d (enthalten, nächstes Byte nach dem Wort "info") bis zum letzten e der Info-Karte (im Lieferumfang enthalten).

somit wird SHA1 des fettgedruckte Teil des Snippets unter:

...: info d5: filesld6: ... [viele Bytes] ... e 9: ... (Ohne die Leerzeichen vor d und nach e)

Dann konvertiere ich einfach die Byte-Array von MessageDigest zurückgegeben und% für jedes Hex 2-stelliges Paar einfügen. ZB:

% 70% 47% 8F ... [Ausschnitt] ...% 13% 6F% 6C

+0

Sie sollten auf das Häkchen neben Ihrer eigenen Antwort klicken, um das zu zeigen, anstatt die Frage mit [SOLVED] zu kommentieren. –