資訊雜湊
Info Hash
BitTorrent 對種子元資訊中 info 字典計算所得的內容標識,用於區分分發任務、建立對等連接並在跟蹤器或 DHT 中定位同一羣組。
詳細說明
資訊哈希(Info Hash)是 BitTorrent 用於標識種子元資訊和對應下載羣組的哈希值。客户端在握手、跟蹤器請求和分佈式哈希表查詢中使用它,使持有相同元資訊的節點加入同一 swarm。資訊哈希不是網站分配的編號,也不是對某個文件名字符串進行簡單哈希。
在 BitTorrent v1 中,info hash 是 `.torrent` 元文件內 `info` 字典原始 bencode 編碼的 SHA-1 摘要,長度為 20 字節,常顯示成 40 個十六進制字符或 Base32 文本。`info` 字典包含建議名稱、文件長度或文件列表、分片長度以及各分片 SHA-1 等字段。對該字典的任何編碼級改變都可能產生新的資訊哈希;位於 `info` 之外的 tracker 地址或註釋通常不參與 v1 哈希。
資訊哈希標識的是一套特定元資訊,而不是抽象意義上“內容相同”的所有文件。兩名發佈者即使使用相同文件,只要分片大小、目錄名稱、文件順序或 `info` 內其他字段不同,就會形成不同 swarm。反過來,客户端取得元資訊後仍會用分片哈希驗證下載數據,資訊哈希本身不取代每個分片的完整性檢查。 BitTorrent v2 由 BEP 52 定義,使用 SHA-256 計算 v2 info hash,並以 Merkle 樹組織文件完整性資訊。兼容型 hybrid torrent 可同時包含 v1 與 v2 所需結構,因而具有相應的兩種標識。只寫“info hash”而不説明協議版本,可能無法完整描述現代種子。
資訊哈希不包含可直接下載的數據,也不保證當前存在做種者。它可以出現在 `.torrent` 文件、Magnet URI、客户端界面和數據庫中;客户端還需通過 tracker、DHT、PEX 或其他途徑找到節點並取得元資訊與文件分片。哈希值也不提供發佈者身份、版權狀態或文件安全性的認證。