API टोकन जेनरेटर

हेक्स, Base64URL या अल्फ़ान्यूमेरिक फ़ॉर्मैट में क्रिप्टोग्राफ़िक रूप से सुरक्षित रैंडम टोकन बनाएँ — अपने ब्राउज़र में।

इस्तेमाल कैसे करें

  1. टोकन की लंबाई, आउटपुट फ़ॉर्मैट — हेक्स, Base64URL या अल्फ़ान्यूमेरिक — और कितने टोकन चाहिए, यह चुनें।
  2. "जेनरेट करें" पर क्लिक करें। हर टोकन crypto.getRandomValues से आता है, जो आपके ब्राउज़र का क्रिप्टोग्राफ़िक रूप से सुरक्षित रैंडम जेनरेटर है।
  3. टोकन कॉपी करें (हर पंक्ति में एक) और नतीजे के नीचे दिखी अनुमानित एन्ट्रॉपी जाँचें।

इस टूल के बारे में

API की, सेशन आइडेंटिफ़ायर, webhook सीक्रेट, पासवर्ड-रीसेट कोड और CSRF टोकन — सबकी एक ही शर्त है: उनका अनुमान लगाना असंभव होना चाहिए। इससे Math.random(), टाइमस्टैम्प और उनसे व्युत्पन्न कुछ भी बाहर हो जाता है — वे इतने पूर्वानुमेय हैं कि brute force से तोड़े जा सकते हैं। यह जेनरेटर crypto.getRandomValues इस्तेमाल करता है — क्रिप्टोग्राफ़िक रूप से सुरक्षित छद्म-यादृच्छिक जेनरेटर (CSPRNG), जिसे ब्राउज़र ऑपरेटिंग सिस्टम की एन्ट्रॉपी से सीड करते हैं — वही स्रोत जिससे TLS कुंजियाँ बनती हैं।

लंबाई का विकल्प तय करता है कि हर टोकन में कितने रैंडम बाइट होंगे (16 से 128, डिफ़ॉल्ट 32) — या अल्फ़ान्यूमेरिक मोड में, कितने कैरेक्टर। हेक्स हर बाइट को 0-9a-f के दो कैरेक्टरों में एनकोड करता है; Base64URL वही बाइट्स अक्षरों, अंकों, माइनस और अंडरस्कोर की छोटी, URL-सुरक्षित स्ट्रिंग में समेट देता है; अल्फ़ान्यूमेरिक 62 कैरेक्टरों वाले A-Z a-z 0-9 सेट से कैरेक्टर चुनता है। अल्फ़ान्यूमेरिक मोड पर एक तकनीकी नोट ज़रूरी है: चूँकि 256, 62 से पूरी तरह विभाजित नहीं होता, हर रैंडम बाइट का सीधे modulo 62 लेने से कुछ कैरेक्टर दूसरों से ज़्यादा बार आते (modulo bias)। यह जेनरेटर इसके बजाय rejection sampling इस्तेमाल करता है — 248 या उससे बड़े बाइट छोड़कर दोबारा निकाले जाते हैं — ताकि हर कैरेक्टर की संभावना बिल्कुल बराबर रहे।

स्टेटस लाइन अनुमानित एन्ट्रॉपी दिखाती है: हेक्स और Base64URL के लिए 8 बिट प्रति बाइट, अल्फ़ान्यूमेरिक के लिए log2(62) ≈ 5.95 बिट प्रति कैरेक्टर। अंगूठे के नियम के तौर पर, 128 बिट को brute force करना पहले ही असंभव-सा है और 256 बिट — 32 बाइट का डिफ़ॉल्ट — लंबी अवधि की API कुंजियों का मानक है। सब कुछ लोकली आपके ब्राउज़र में बनता है, इसलिए कोई सर्वर टोकन कभी नहीं देखता और उन्हें असली सीक्रेट की तरह इस्तेमाल करना सुरक्षित है। उनके साथ वैसा ही बरताव करें: सर्वर पर टोकन का केवल हैश रखें, सादा मान एक ही बार दिखाएँ, और जिन कुंजियों के उजागर होने का शक हो उन्हें रोटेट करें।

फ़ॉर्मूला

एन्ट्रॉपी = लंबाई × log2(वर्णमाला का आकार)। 32 बाइट का टोकन किसी भी एनकोडिंग में 256 बिट एन्ट्रॉपी रखता है; अल्फ़ान्यूमेरिक टोकन में प्रति कैरेक्टर log2(62) ≈ 5.95 बिट होते हैं, इसलिए 43 अल्फ़ान्यूमेरिक कैरेक्टर ≈ 256 बिट।

अक्सर पूछे जाने वाले सवाल

API टोकन कितना लंबा होना चाहिए?

लंबी अवधि की API कुंजियों के लिए 32 बाइट (256 बिट) ठोस डिफ़ॉल्ट है, और किसी भी सुरक्षा-प्रासंगिक चीज़ के लिए 16 बाइट (128 बिट) व्यावहारिक न्यूनतम। यहाँ लंबे टोकन की कोई क़ीमत नहीं, इसलिए खुले हाथ से लंबाई रखें।

Modulo bias क्या है और यह क्यों मायने रखता है?

यह वह असमान वितरण है जो 256 बाइट मानों को ऐसी वर्णमाला पर मैप करने से आता है जो 256 को पूरी तरह विभाजित नहीं करती — कुछ कैरेक्टर थोड़े ज़्यादा संभावित हो जाते हैं, जिससे प्रभावी एन्ट्रॉपी मापने लायक़ घट जाती है। यह टूल rejection sampling से इससे बचता है: वर्णमाला के आकार के सबसे बड़े पूर्ण गुणज से ऊपर के बाइट छोड़ दिए जाते हैं।

क्या बने हुए टोकन मेरे ब्राउज़र से बाहर जाते हैं?

नहीं। टोकन crypto.getRandomValues से लोकली बनते हैं और कभी भेजे, लॉग या स्टोर नहीं होते — यह पेज कोई नेटवर्क अनुरोध नहीं करता, इसलिए टोकन असली सीक्रेट की तरह इस्तेमाल करने लायक़ सुरक्षित हैं।

हेक्स, Base64URL और अल्फ़ान्यूमेरिक में क्या फ़र्क़ है?

सिर्फ़ एनकोडिंग का — रैंडमनेस का स्रोत एक ही है। हेक्स सबसे लंबा है पर हर जगह पार्स होता है; Base64URL लगभग एक-तिहाई छोटा और URL में सुरक्षित है; अल्फ़ान्यूमेरिक हर विराम-चिह्न से बचता है, जो तब काम आता है जब कोई सिस्टम अनुमत कैरेक्टर सीमित रखता है।

क्या दो बने हुए टोकन टकरा सकते हैं?

सिद्धांत में हाँ, व्यवहार में नहीं: 256 बिट पर कभी डुप्लिकेट दिखने की संभावना हार्डवेयर ख़राबी से भी कहीं कम है। कोलिज़न प्रतिरोध ही वह वजह है जिससे अनुमान-असंभव रैंडम टोकन सीक्रेट के अच्छे आइडेंटिफ़ायर बनते हैं।

संबंधित टूल्स

UUID v4 जेनरेटर क्रिप्टोग्राफ़िक रैंडमनेस के साथ एक या कई रैंडम UUID v4 पहचानकर्ता जनरेट करें। मज़बूत पासवर्ड जेनरेटर लंबाई और कैरेक्टरों पर पूरे नियंत्रण के साथ मज़बूत रैंडम पासवर्ड बनाएं — लोकल जनरेट होते हैं, कभी ट्रांसमिट नहीं। HMAC जेनरेटर अपनी सीक्रेट की के साथ HMAC-SHA-256 और HMAC-SHA-512 सिग्नेचर निकालें — सीधे अपने ब्राउज़र में। JWT डिकोडर JWT का हेडर और पेलोड डिकोड करें, क्लेम और एक्सपायरी जाँचें — टोकन आपके ब्राउज़र से बाहर गए बिना। हैश जेनरेटर किसी भी टेक्स्ट के MD5, SHA-1, SHA-256, SHA-384 और SHA-512 हैश बनाएँ — सीधे अपने ब्राउज़र में। पासफ़्रेज़ जनरेटर (Diceware) यादृच्छिक पुर्तगाली शब्दों को जोड़कर एक मजबूत, यादगार पासफ़्रेज़ जनरेट करें — स्थानीय शब्द सूची के साथ Diceware विधि।

लंबे लिंक? मुफ़्त में छोटा करें

Vai.la किसी भी URL को क्लिक आंकड़ों, QR Code और आपके अपने बायोलिंक के साथ एक शॉर्ट लिंक में बदल देता है।

टूल्स का इस्तेमाल कैसे होता है या उनके परिणामों के आधार पर लिए गए निर्णयों के लिए Vai.la ज़िम्मेदार नहीं है।