रैंडम टोकन जनरेटर क्या है?
Web Crypto API का उपयोग करके हेक्स, Base64, अल्फ़ान्यूमेरिक, URL-सुरक्षित, केवल अंक, प्रतीकों सहित या पूरी तरह कस्टम कैरेक्टर सेट में यादृच्छिक टोकन बनाएँ। API कुंजियों, सत्र टोकन, CSRF टोकन, अंकीय PIN और OTP कोड, और पासवर्ड रीसेट लिंक के लिए उपयोग करें जिन्हें क्रिप्टोग्राफ़िक रैंडमनेस चाहिए।
सारे बाइट crypto.getRandomValues से आते हैं, यानी वही सोर्स जिससे ब्राउज़र TLS की चाबियाँ बनाता है। आप 16, 32, 48, 64 या 128 बाइट लंबाई चुनिए, और एंट्रॉपी पैनल बता देगा कि चुने हुए फॉर्मेट में यह कितने बिट की रैंडमनेस देगा। एक बार में 20 तक टोकन बना सकते हैं और .txt में डाउनलोड करके बैच में बाँट सकते हैं।
उपयोग कैसे करें
- टोकन फॉर्मेट चुनें — हेक्स, बेस64, अल्फ़ान्यूमेरिक, URL-सेफ, केवल अंक, प्रतीकों सहित, या अपने कस्टम अक्षर — और इच्छित लंबाई।
- क्रिप्टोग्राफिक रूप से सुरक्षित रैंडम टोकन तुरंत बनाने के लिए जनरेट पर क्लिक करें।
- टोकन कॉपी करें या बल्क उपयोग के लिए एक साथ कई टोकन जनरेट करें।
कब उपयोग करें
- API key, webhook साइन करने वाला सीक्रेट या service-to-service auth टोकन जारी करते समय।
- पासवर्ड रीसेट लिंक, ईमेल कन्फ़र्म टोकन या एक-बार वाले लॉगिन URL बनाते समय।
- टेस्ट फिक्सचर में ऐसे रैंडम ID भरते समय जो आपस में टकराते न हों।
परिणाम
API कुंजी के रूप में उपयोग के लिए 256-बिट हेक्स टोकन (64 कैरेक्टर) जनरेट करें: 'a3f8b2c1d4e5f6...', crypto.getRandomValues से पूर्ण एन्ट्रॉपी के साथ।
अक्सर पूछे जाने वाले प्रश्न
- एक API key के लिए असल में कितनी एंट्रॉपी चाहिए?
- लंबे समय तक चलने वाले किसी भी क्रेडेंशियल के लिए 128 बिट प्रैक्टिकल न्यूनतम है, ब्रूट-फोर्स इससे आगे जा ही नहीं सकता। साइनिंग या क्रिप्टो ऑपरेशन के लिए 32 बाइट (256 बिट) रखें। शॉर्ट-लिव्ड सेशन टोकन के लिए 16 बाइट काफी हैं।
- base64 और URL-Safe फॉर्मेट में फ़र्क क्या है?
- base64 + और / और = पैडिंग का इस्तेमाल करता है, जो URL या फ़ाइल नाम में चिपकाते ही टूट जाते हैं। URL-Safe इन्हें - और _ से बदल देता है और पैडिंग हटा देता है। query string, path या HTTP header में जाने वाला कोई भी टोकन URL-Safe ही रखें।
- एक जैसी बाइट संख्या पर alphanumeric की एंट्रॉपी hex से कम क्यों होती है?
- hex और base64 हर बाइट के पूरे 8 बिट सीधा एक कैरेक्टर में रखते हैं। alphanumeric हर बाइट को मॉड्यूलो से 62 कैरेक्टर में मैप करता है, इससे प्रति बाइट लगभग 2 बिट उड़ जाते हैं और हलका सा बायस आता है। ID के लिए ठीक है, क्रिप्टो सीक्रेट के लिए कमज़ोर।
- अगर Web Crypto न मिले तो Math.random() फॉलबैक के तौर पर चलेगा?
- नहीं। Math.random() एक प्रेडिक्टेबल PRNG है, हमलावर कुछ आउटपुट देखकर आगे के मान निकाल सकता है। Web Crypto 2014 के बाद के हर ब्राउज़र और हर मॉडर्न Node.js में है। न हो तो सीक्रेट बनाइए ही मत।
- क्या मेरा एक ही टोकन ऐप में दो बार आ सकता है?
- 16 बाइट के टोकन में टकराव संभावित होने के लिए लगभग 2^64 टोकन जारी करने पड़ेंगे (बर्थडे बाउंड)। अरबों टोकन तक के असली वर्कलोड में टकराव सांख्यिकीय रूप से शून्य है, अलग से यूनिक चेक की ज़रूरत नहीं।
संबंधित उपकरण
PGP कुंजी जनरेटर
PGP एन्क्रिप्शन कुंजी जोड़े जनरेट करें
सुरक्षित नोट्स
स्थानीय रूप से एन्क्रिप्टेड नोट्स बनाएं और संग्रहीत करें
फ़ाइल एन्क्रिप्टर
AES-256 एन्क्रिप्शन से फ़ाइलें सुरक्षित करें
SSL प्रमाणपत्र डिकोडर
SSL/TLS प्रमाणपत्रों को डिकोड और जाँचें
सीज़र साइफ़र टूल
कस्टम शिफ़्ट के साथ अक्षर प्रतिस्थापन सिफ़र
पासफ़्रेज़ जनरेटर
मज़बूत और याद रखने में आसान पासफ़्रेज़ बनाएं