2010-11-01 109 views
8

當我想向跟蹤器發送初始請求時,我所見過的所有引用都需要進行url編碼。如果我將信息密鑰的SHA-1散列轉換爲十六進制字符串,爲什麼需要對散列進行網址編碼?它只包含允許的字符。BitTorrent跟蹤器請求,info_hash格式

回答

4

info_hash參數是不是一個十六進制字符串。這是一個純粹的二進制字符串,所以是的,你將不得不對其中的許多字節進行URL編碼。 (這最終會比使用十六進制編碼的字符串更長,但是對於您來說這就是BitTorrent協議,現在已經太遲而無法做任何事情了!)

0

信息哈希的二進制形式(a 20字節長的SHA1)應該是URL編碼的。 AFAIK一些跟蹤器接受純粹的十六進制信息哈希(40個字符長的字符串)。