2010-11-01 15 views
8

का प्रारूप जब मैं एक ट्रैकर को प्रारंभिक अनुरोध भेजना चाहता हूं तो मैंने देखा है कि इसे यूआरएल-एनकोडेड होना चाहिए। यदि मैं SHA-1 हैश को बदलता हूं तो मेरे पास हेक्स स्ट्रिंग में जानकारी कुंजी है, तो मुझे हैश को यूआरएल-एन्कोड करने की आवश्यकता क्यों होगी? इसमें केवल अनुमत वर्ण हैं।बिटरोरेंट ट्रैकर अनुरोध, info_hash

उत्तर

4

info_hash पैरामीटर एक हेक्स स्ट्रिंग नहीं है। यह एक शुद्ध द्विआधारी स्ट्रिंग है, इसलिए हां, आपको इसमें कई बाइट्स को यूआरएल-एन्कोड करना होगा। (यह केवल हेक्स-एन्कोडेड स्ट्रिंग का उपयोग करने के बजाय इसे अंत में लंबा बना देता है, लेकिन यह आपके लिए बिटटोरेंट प्रोटोकॉल है, अब इसके बारे में कुछ भी देर हो चुकी है!)

0

जानकारी-हैश का एक बाइनरी रूप (20 बाइट लांग SHA1) यूआरएल एन्कोड किया जाना चाहिए। AFAIK कुछ ट्रैकर्स शुद्ध हेक्साडेसिमल जानकारी-हैश (40 वर्ण लंबी स्ट्रिंग) स्वीकार करते हैं।

संबंधित मुद्दे