इसका इस्तेमाल कैसे करें
- सेवा के दो-चरणीय पेज से सीक्रेट फ़ील्ड में लिखें, या उसके QR कोड में मौजूद otpauth:// टेक्स्ट चिपकाएँ। जो लिखा है उसे जाँचने के लिए दिखाएँ दबाएँ।
- सेवा जो हैश, अंक और अवधि बताती है, वह चुनें। कई सेवाएँ Key URI Format के डिफॉल्ट इस्तेमाल करती हैं: SHA-1, 6 अंक और 30 सेकंड।
- काउंटर पर आधारित सेवा के लिए काउंटर पर आधारित (HOTP) चुनें और काउंटर लिखें; काउंटर + 1 उसे आगे बढ़ाता है।
- बचा समय खत्म होने से पहले मौजूदा कोड लिखें, और अगर आपके डिवाइस की घड़ी थोड़ी गलत हो तो पिछला और अगला कोड देखें।
कोड कैसे बनता है
HOTP (RFC 4226) गुप्त कुंजी और एक काउंटर लेता है, काउंटर का हैश के साथ HMAC बनाता है, और उसमें से चार बाइट लेता है (डायनामिक ट्रंकेशन)। उन बाइट से बनी संख्या का मॉड्यूलो 10 की अंकों वाली घात है, और वही कोड है।
TOTP (RFC 6238) वह HOTP है जिसका काउंटर समय से बनता है: Unix समय सेकंड में, अवधि से भाग देकर नीचे की ओर पूर्णांक। हर अवधि पर नया कोड शुरू होता है, इसलिए दोनों ओर की घड़ी सही होनी चाहिए।
TOTP = HOTP(कुंजी, floor(Unix समय ÷ अवधि)); HOTP = truncate(HMAC(कुंजी, काउंटर)) mod 10^अंक
सीक्रेट और otpauth:// URI
सीक्रेट एक Base32 टेक्स्ट है (RFC 4648): A से Z अक्षर और 2 से 7 के अंक। स्पेस अनदेखे रहते हैं, और पैडिंग छोड़ी जा सकती है। उस सेट के बाहर का अक्षर, या असंभव लंबाई वाला सीक्रेट, मना होता है।
otpauth:// URI (Google का Key URI Format) टाइप, लेबल, सीक्रेट, और वैकल्पिक जारीकर्ता, एल्गोरिदम, अंक, अवधि और काउंटर रखता है। जो सेटिंग नहीं है, वह फॉर्मेट के डिफॉल्ट लेती है: SHA1, 6 अंक, 30 सेकंड और काउंटर 0।
पेज की जाँच कैसे हुई
कोड RFC 4226 के परिशिष्ट D (काउंट 0 से 9) और RFC 6238 के परिशिष्ट B (छह बार, SHA-1, SHA-256 और SHA-512 के लिए आठ अंकों के साथ) के परीक्षण मानों से जाँचा गया है। HMAC आपके ब्राउज़र के SubtleCrypto से निकाला जाता है।
हल किया हुआ उदाहरण: RFC 6238 का परीक्षण सीक्रेट
RFC का परीक्षण सीक्रेट टेक्स्ट 12345678901234567890 है, जो Base32 में GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ है। Unix समय 59 पर, 30 सेकंड की अवधि के साथ, TOTP का चरण 1 SHA-1 के लिए आठ अंकों का कोड 94287082 देता है।
छह अंकों के साथ वही चरण 287082 देता है, जो RFC 4226 के काउंटर 1 का कोड है; यह आठ अंकों के मान के आखिरी छह अंक हैं।
अक्सर पूछे जाने वाले सवाल
क्या सीक्रेट या कोड किसी सर्वर को भेजा जाता है?
नहीं। कोड आपके ब्राउज़र में निकलता है, और पेज ऐसा कोई अनुरोध नहीं करता जिसमें सीक्रेट या कोड हो। कुछ सहेजा नहीं जाता, और दोबारा लोड करने पर दोनों भूल जाते हैं।
क्या मुझे अपने असली खाते का सीक्रेट यहाँ चिपकाना चाहिए?
सिर्फ ऐसे पेज पर जिस पर भरोसा हो, और जब कोई और आपकी स्क्रीन न देख सके। असली खाते के लिए आपका ऑथेंटिकेटर ऐप सामान्य जगह है, क्योंकि वह रोज के इस्तेमाल के लिए सीक्रेट रखता है; यह पेज आपके अपने टूल और एक बार चाहिए वाले कोड के लिए ठीक है।
कोड हर 30 सेकंड में क्यों बदलता है?
समय पर आधारित कोड (TOTP) Unix epoch से बीती अवधियों की संख्या लेता है, इसलिए हर अवधि पर नया कोड शुरू होता है। उल्टी गिनती बताती है कि मौजूदा कोड कितनी देर चलेगा।
मेरा कोड सेवा के ऐप से मेल क्यों नहीं खाता?
सीक्रेट (सिर्फ Base32), हैश, अंक और अवधि जाँचें, जो सेवा बताती है; फिर जाँचें कि आपके डिवाइस की घड़ी सही है, क्योंकि समय पर आधारित कोड उस पर निर्भर है। पिछला और अगला कोड छोटे घड़ी-अंतर को देखने में मदद करते हैं।
कौन सा हैश चुनना चाहिए?
वह चुनें जो सेवा बताती है। SHA-1 RFC 4226 HOTP और otpauth फॉर्मेट का डिफॉल्ट है; RFC 6238 TOTP के लिए SHA-256 और SHA-512 भी अनुमति देता है।
TOTP और HOTP में क्या अंतर है?
TOTP समय इस्तेमाल करता है, इसलिए कोड हर अवधि पर बदलता है। HOTP एक काउंटर इस्तेमाल करता है जो हर इस्तेमाल पर आगे बढ़ता है, इसलिए काउंटर बदलने तक कोड वही रहता है।
otpauth:// टेक्स्ट क्या करता है?
यह दो-चरणीय कुंजी की सेटिंग Key URI Format में रखता है, आम तौर पर QR कोड के भीतर। यहाँ चिपकाने पर सीक्रेट, हैश, अंक, अवधि और काउंटर भर जाते हैं।
स्रोत
- RFC 4226 (अंग्रेजी में): HOTP, HMAC-Based One-Time Password Algorithm
- RFC 6238 (अंग्रेजी में): TOTP, Time-Based One-Time Password Algorithm
- RFC 4648 (अंग्रेजी में): The Base16, Base32, and Base64 Data Encodings
- Google Authenticator (अंग्रेजी में): Key Uri Format
- MDN (अंग्रेजी में): SubtleCrypto.sign()
आँकड़े और टेक्स्ट आखिरी बार मंगलवार, 10 नवंबर 2026 को जाँचे गए।