Czym jest info hash torrenta?

Info hash to identyfikator torrenta. Jest to hash listy plików i fragmentów torrenta. To do niego odwołuje się link magnetyczny, a klienci wyszukują go w DHT, aby znaleźć peerów. Ten sam hash występuje w różnych formach, co często prowadzi do nieporozumień.

Torrent v1 ma info hash SHA-1: 20 bajtów zapisanych jako 40 znaków szesnastkowych albo — w starszych linkach magnetycznych — jako 32 znaki Base32. Torrent v2 (BitTorrent v2, BEP 52) ma info hash SHA-256: 32 bajty, czyli 64 znaki szesnastkowe. W linku magnetycznym znajduje się za urn:btmh: jako multihash, poprzedzony wartością 1220 (SHA-256, 32 bajty). Torrenty hybrydowe zawierają oba hashe.

Opis narzędzia

Wklej info hash w dowolnej z tych form albo link magnetyczny, a narzędzie określi, czy jest to hash v1, czy v2, i poda:

  • hash v1 zapisaną małymi literami w systemie szesnastkowym oraz w Base32
  • hash v2 zapisaną małymi literami w systemie szesnastkowym
  • krótki link magnetyczny zawierający tylko hash i nazwę z wklejonego linku magnetycznego

Krótki link magnetyczny pomija trackery, źródła web seed i wszystkie pozostałe elementy. Klienci z włączonym DHT znajdują peerów na podstawie samego hasha. Hasha v1 nie można przekształcić w hash v2 ani odwrotnie: pochodzą z różnych funkcji skrótu, więc oba hashe zawiera tylko hybrydowy link magnetyczny.

Przykłady

Hash Base32 o długości 32 znaków zostanie zwrócony jako ten sam hash v1 zapisany za pomocą 40 znaków szesnastkowych, wraz z linkiem magnetycznym w takiej postaci:

magnet:?xt=urn:btih:<40 znaków szesnastkowych>

Hash szesnastkowy o długości 64 znaków to hash v2, a jego link magnetyczny zawiera prefiks multihash:

magnet:?xt=urn:btmh:1220<64 znaków szesnastkowych>

Funkcje

  • Odczytuje info hashe i linki magnetyczne w formatach szesnastkowym, Base32 i multihash
  • Rozróżnia torrenty v1, v2 i hybrydowe
  • Tworzy krótki link magnetyczny zachowujący nazwę