अल्फ़ान्यूमेरिक कैरेक्टर: परिभाषा, क्रिप्टो उपयोग, सुरक्षा

अल्फ़ान्यूमेरिक कैरेक्टर: परिभाषा, क्रिप्टो उपयोग, सुरक्षा

बासठ। यही वो कुल संख्या है जो तब उपलब्ध होती है जब कोई कहता है "केवल अक्षरांकीय अक्षरों का उपयोग करें"। छब्बीस बड़े अक्षर, छब्बीस छोटे अक्षर और दस अंक। यदि अक्षर भेद हटा दिया जाए तो संख्या घटकर छत्तीस रह जाती है। ये दोनों संख्याएँ महत्वपूर्ण हैं, क्योंकि आपने आज तक जितने भी डिजिटल पहचानकर्ता टाइप किए हैं - जैसे वॉलेट पता, वाई-फाई पासवर्ड, लेनदेन हैश, गिटहब टोकन - वे सभी इन्हीं बासठ प्रतीकों के एक विशेष समूह से बने होते हैं।

किस उपसमूह का चुनाव करना है और क्यों, यह वह हिस्सा है जिसे ज्यादातर व्याख्याकार छोड़ देते हैं। यही वह हिस्सा है जो अल्फ़ान्यूमेरिक वर्ण की व्यापक परिभाषा को आपके क्रिप्टो वॉलेट की व्यावहारिक सुरक्षा से जोड़ता है। यह लेख गणना, इसके पीछे के मानक, आधुनिक क्रिप्टोग्राफी द्वारा इसके उपसमूहों के चयन के तरीके और पासवर्ड पर अमेरिकी राष्ट्रीय प्राधिकरण के वर्तमान मतों की व्याख्या करता है। उस दिशा-निर्देश में कुछ ऐसे बदलाव हुए हैं जिन्हें अधिकांश सुरक्षा सलाह अभी तक समझ नहीं पाई है।

अल्फ़ान्यूमेरिक कैरेक्टर क्या है? परिभाषा और गणना

परिभाषा से शुरू करते हैं। एक अल्फ़ान्यूमेरिक अक्षर A–Z (किसी भी अक्षर या अक्षर में) या 0–9 के बीच का कोई भी दशमलव अंक हो सकता है। बस इतना ही है। इसके बाद गणित स्पष्ट है — प्रत्येक अक्षर के लिए छब्बीस अक्षर और दस अंक मिलाकर बासठ अलग-अलग अक्षर बनते हैं, जिनमें से एक अक्षर के प्रति संवेदनशीलता वाला होता है और दूसरा छत्तीस बिना अक्षर के। बाकी सब "विशेष" है। विराम चिह्न, रिक्त स्थान, गणितीय चिह्न, उच्चारण चिह्न वाले अक्षर, इमोजी — इनमें से कोई भी अल्फ़ान्यूमेरिक नहीं माना जाता।

इंजीनियर आमतौर पर दो संक्षिप्त रूपों में से किसी एक के माध्यम से इस परिभाषा को पूरा करते हैं। grep, sed और awk जैसे POSIX टूल `[:alnum:]` को पहचानते हैं, जो ऊपर दिए गए 62 अक्षरों से मेल खाता है। अधिकांश आधुनिक रेगुलर एक्सप्रेशन (regex) - Python, JavaScript, Java, PCRE - इसके बजाय `\w` का उपयोग करते हैं। `\w` के साथ समस्या यह है कि यह अंडरस्कोर को शामिल कर लेता है। अंडरस्कोर औपचारिक रूप से अल्फ़ान्यूमेरिक नहीं है। अधिकांश प्रोग्रामिंग सिंटैक्स इसे एक अतिरिक्त इकाई के रूप में मानते हैं, यही कारण है कि Stripe की प्रीफ़िक्स `sk_live_` और AWS की प्रीफ़िक्स `AKIA` अंडरस्कोर और बड़े अक्षरों को अंकों के साथ मिलाते हैं और किसी को कोई आपत्ति नहीं होती।

यह शब्द कहाँ से आया? पंच कार्ड से। 1930 के दशक में आईबीएम के टैब्यूलेटिंग उपकरणों को अक्षरों और संख्याओं के मिश्रण वाले कोड के लिए एक शब्द की आवश्यकता थी, और "अल्फा न्यूमेरिक" शब्द प्रचलित हो गया। 1960 के दशक की शुरुआत में आईबीएम 1401 तक यह शब्द व्यावसायिक कंप्यूटिंग में मानक शब्दावली बन गया। व्यवहार में इसका स्पष्ट अर्थ था - "अल्फा न्यूमेरिक" घोषित फ़ील्ड किसी भी अक्षर या अंक को स्वीकार करता था; केवल अंकों वाला फ़ील्ड वर्णमाला को पूरी तरह अस्वीकार कर देता था। वहाँ से यह शब्द लाइसेंस प्लेट, आईबीएएन बैंक कोड, टेलीफोन कीपैड के स्मरणीय संकेत, उत्पाद एसकेयू और सैकड़ों अन्य स्थानों पर फैल गया।

केस-सेंसिटिव और केस-इनसेसिटिव का अंतर जितना दिखता है उससे कहीं ज़्यादा महत्वपूर्ण है। अपरकेस अक्षरों की अनुमति होने पर पासवर्ड की सुरक्षा दोगुनी हो जाती है। बिटकॉइन के बेस58 पते जानबूझकर दोनों केस को बनाए रखते हैं। बेक32 जानबूझकर केस को हटा देता है। इन सभी विकल्पों में अभिव्यक्ति की सुगमता और मानवीय त्रुटि के बीच संतुलन बनाना पड़ता है। गलत चुनाव करने पर लोग टाइपिंग की गलतियों के कारण पैसे खो देते हैं।

अक्षरांकीय वर्ण

ASCII से यूनिकोड तक: एक संक्षिप्त तकनीकी इतिहास

आज "अल्फान्यूमेरिक" साठ वर्षों तक चले मानक युद्ध का एक जीवित उदाहरण है। अधिकांश उपयोगकर्ता कहीं बीच में फंसे रह गए और उन्हें इसका एहसास ही नहीं हुआ।

सबसे पहले ASCII आया। इसे 1963 में अमेरिकन स्टैंडर्ड्स एसोसिएशन की बदौलत जारी किया गया और पाँच साल बाद इसे ANSI X3.4-1968 के रूप में औपचारिक रूप दिया गया। इसके बाद दो संशोधन हुए - एक 1977 में और दूसरा 1986 में। 1968 के संस्करण में बड़े अक्षर 'A' को 65, छोटे अक्षर 'a' को 97 और अंकों 0 से 9 को 48 से 57 तक निर्धारित किया गया था। अभी अपना एडिटर खोलें: बाइट 'A' अभी भी 65 ही है। साठ वर्षों में कुछ भी नहीं बदला।

लगभग चार दशकों तक ASCII अल्फ़ान्यूमेरिक सेट ही सर्वमान्य था। फिर आया वैश्विक इंटरनेट। सात बिट्स अब पर्याप्त नहीं रह गए। विफलता के तरीके भयावह थे। ईमेल गड़बड़ हो जाते थे। डेटाबेस काम करना बंद कर देते थे। जापानी वेबसाइटें टोक्यो में तो पूरी तरह से काम करती थीं, लेकिन अमेरिकी लैपटॉप पर प्रश्न चिह्नों की दीवार जैसी दिखती थीं। 1991 में यूनिकोड एक महत्वाकांक्षी लक्ष्य के साथ आया: हर उस लिपि के हर अक्षर को एक अद्वितीय संख्या देना, जिसे आज तक किसी ने लिखा हो। 1992 में UTF-8 आया, जो वास्तव में सामान्य नेटवर्क के माध्यम से यूनिकोड को ले जाने वाला एन्कोडिंग था। इसकी खासियत थी बैकवर्ड-कम्पैटिबिलिटी — UTF-8 के पहले 128 कोड पॉइंट बिल्कुल मूल 1968 ASCII बाइट्स के बराबर हैं। 1991 से पहले भेजे गए अंग्रेजी टेक्स्ट हमेशा काम करते रहे।

यह परिवर्तन दिसंबर 2007 में हुआ। उसी महीने, सार्वजनिक वेब-क्रॉल आंकड़ों ने अंततः यह दिखाया कि UTF-8 ऑनलाइन सबसे आम एन्कोडिंग के रूप में ASCII से आगे निकल गया है। तब से "अल्फा न्यूमेरिक" का अर्थ केवल बासठ ASCII प्रतीकों तक सीमित नहीं रह गया। यूनिकोड अब सिरिलिक, ग्रीक, अरबी, हिब्रू और CJK लिपियों के लिए अल्फा न्यूमेरिक ब्लॉक सूचीबद्ध करता है। प्रत्येक लिपि के अपने अक्षर और अपने अंक होते हैं।

व्यवहार में, हालांकि, जो सॉफ़्टवेयर सीमाओं के पार काम करता है, वह डिफ़ॉल्ट रूप से मूल ASCII उपसमूह का ही उपयोग करता है। लैटिन अक्षर A–Z, अरबी अंक 0–9। बस इतना ही। इसका कारण सीधा-सादा है। हर कीबोर्ड ASCII उत्पन्न करता है। हर डेटाबेस इसे स्वीकार करता है। हर रेगुलर एक्सप्रेशन इंजन इसे जानता है। सीमा से बाहर कदम रखते ही आपको गलत एन्कोडिंग की त्रुटियों, मिलते-जुलते अक्षरों और फ़िशिंग हमलों का सामना करना पड़ता है, जिनके बारे में मैं आगे चर्चा करूंगा।

कक्षा सदस्यों गिनती करना रेगुलर एक्सप्रेशन का संक्षिप्त रूप उदाहरण
वर्णानुक्रमक ए–जेड, ए–जेड 52 `[ए-ज़ा-ज़]` सरल अंग्रेजी शब्द
संख्यात्मक 0–9 10 `[0-9]` या `\d` एक वर्ष, एक पोस्टकोड
अक्षरांकीय ए–जेड, ए–जेड, 0–9 62 `[A-Za-z0-9]` या `[:alnum:]` एपीआई कुंजी, एसकेयू
विशेष / प्रतीकात्मक `!@#$%^&*()_+-=[]{};:'"\ ,.<>/?` ~33 (ASCII) `[^A-Za-z0-9]` पासवर्ड संशोधक

क्रिप्टो में अल्फ़ान्यूमेरिक वर्ण: पते, हैश, सीड

आम तौर पर समझाने वाले लोग इस बात को नज़रअंदाज़ कर देते हैं। क्रिप्टोकरेंसी सिस्टम कभी भी पूरे 62 अक्षरों वाले अल्फ़ान्यूमेरिक सेट का उपयोग नहीं करते हैं। वे सावधानीपूर्वक चुने गए उपसमूहों का चयन करते हैं। इनमें से प्रत्येक एक दस्तावेजीकृत इंजीनियरिंग समझौता है, न कि कोई मनमाना सौंदर्यबोध।

पहले बिटकॉइन की बात करते हैं। एक पारंपरिक बिटकॉइन पता (जो 1 या 3 से शुरू होता है) बेस58 में एन्कोड किया जाता है। इस वर्णमाला को सतोशी नाकामोतो ने हाथ से डिज़ाइन किया था। विधि: बासठ अक्षरों वाले वर्णमाला सेट में से चार अक्षर हटा दें। शून्य, बड़ा अक्षर O, बड़ा अक्षर I और छोटा अक्षर l हटा दिए जाते हैं। ये चार अक्षर क्यों? इन्हें खराब लिखावट में एक पोस्ट-इट पर लिखें। थोड़ी देर के लिए दूर चले जाएं। पांच मिनट बाद वापस आएं। इन्हें पहचानने की कोशिश करें। आप नहीं पहचान पाएंगे। बेस58 को इसी समस्या को हल करने के लिए बनाया गया था। अट्ठावन अक्षर बचते हैं। एक सामान्य पारंपरिक पता छब्बीस से पैंतीस अक्षरों का होता है - इतना छोटा कि ज़रूरत पड़ने पर इसे हाथ से कॉपी किया जा सकता है।

SegWit अगस्त 2017 में सक्रिय हुआ। इसके साथ ही बिटकॉइन पते का एक दूसरा प्रारूप आया: Bech32, जिसे BIP-173 में परिभाषित किया गया है। Bech32 में कुछ अलग विशेषताएं हैं। इसमें केस संवेदनशीलता पूरी तरह समाप्त हो जाती है — प्रत्येक पता लोअरकेस में होता है। चार अलग अक्षर हटा दिए जाते हैं: अंक 1, साथ ही b, i, o। शेष बत्तीस अक्षरों और अंकों में एक अंतर्निहित चेकसम होता है। यह चेकसम लगभग हर अक्षर की टाइपिंग त्रुटि को स्वचालित रूप से पकड़ लेता है। नवंबर 2021 से सक्रिय Taproot ने मूल गणितीय संरचना में एक त्रुटि पाए जाने के बाद इस प्रारूप को परिष्कृत करके Bech32m (BIP-350) में बदल दिया।

एथेरियम ने तीसरा रास्ता चुना। सीधे हेक्साडेसिमल का इस्तेमाल करें। एक एथेरियम एड्रेस `0x` के बाद ठीक चालीस हेक्साडेसिमल अक्षर होते हैं; कुल बयालीस अक्षर। हेक्साडेसिमल अक्षरों को सोलह सदस्यों तक सीमित कर देता है। अंक 0-9, अक्षर a-f, और कुछ नहीं। 2015 में यह विकल्प साफ-सुथरा लगा। लेकिन 2026 तक आते-आते, मेटामास्क में कच्चे हेक्साडेसिमल डेटा को वर्षों तक ध्यान से देखने के बाद, यह भद्दा लगने लगा। EIP-55 इसका समाधान था। लोअरकेस एड्रेस के Keccak-256 हैश से प्राप्त पैटर्न में कुछ अक्षरों को चुनिंदा रूप से अपरकेस में बदल दिया जाता है। इसका परिणाम टाइपिंग की गलतियों का आसानी से पता लगाना है। EIP-55 लगभग 99.975 प्रतिशत विश्वसनीयता के साथ टाइपिंग की गलतियों को पकड़ता है। चूक दर लगभग 0.0247 प्रतिशत है। कम। शून्य नहीं।

हैश सबसे सरल उदाहरण है। SHA-256 हैश का आउटपुट 256 बिट्स का होता है, जिसे 64 हेक्साडेसिमल अक्षरों के रूप में प्रदर्शित किया जाता है। एथेरियम का Keccak-256 भी समान लंबाई का आउटपुट देता है। बिटकॉइन लेनदेन आईडी (txid) लेनदेन का SHA-256 हैश होता है, इसलिए txid भी 64 अल्फ़ान्यूमेरिक हेक्साडेसिमल अक्षरों का होता है। ब्लॉक एक्सप्लोरर पर ये देखने में जटिल लग सकते हैं। ये पूरी तरह से अल्फ़ान्यूमेरिक होते हैं।

सीड वाक्यांश इस पैटर्न को तोड़ते हैं। BIP-39 वॉलेट रिकवरी वह जगह है जहां क्रिप्टो अल्फान्यूमेरिक से बाहर निकलकर विशुद्ध रूप से अल्फाबेटिक क्षेत्र में प्रवेश करता है। यह मानक 128 या 256 बिट्स की एंट्रॉपी को बारह या चौबीस अंग्रेजी शब्दों के रूप में एन्कोड करता है, जो एक निश्चित 2,048 शब्दों की सूची से लिए गए हैं। प्रत्येक शब्द केवल छोटे अक्षरों में होता है - कोई अंक नहीं, कोई मिश्रित अक्षर नहीं। क्यों? क्योंकि इसका उद्देश्य ऐसे व्यक्ति को ध्यान में रखना है जो रात 3 बजे अपने फोन की बैटरी खत्म होने के बाद कागज पर शब्द लिख रहा हो, और अंक अस्पष्टता पैदा करते हैं जो अक्षर नहीं करते।

पहचानकर्ता चरित्र सेट लंबाई उदाहरण (संक्षिप्त)
बिटकॉइन लेगेसी एड्रेस बेस 58 (58 अक्षर, 0/O/I/l शामिल नहीं) 26–35 `1A1zP1eP5QGefi2…`
बिटकॉइन Bech32 (SegWit) 32 लोअरकेस, नहीं 1/बी/आई/ओ ~42 `bc1qar0srrr7xfk…`
एथेरियम पता हेक्स (0–9, a–f) + `0x` 42 `0xde0B295669a91…`
SHA-256 / txid हेक्स 64 `e3b0c44298fc1c1…`
बीआईपी-39 शब्द केवल a–z प्रति शब्द 3-8 `क्षमता त्यागने में सक्षम…`

प्रत्येक उपसमूह एक गहन तकनीकी प्रणाली के भीतर छिपा हुआ मानव-केंद्रित डिजाइन का एक हिस्सा है।

अल्फ़ान्यूमेरिक पासवर्ड: 2024 में NIST वास्तव में क्या कहता है

सार्वजनिक इंटरनेट पर पासवर्ड से संबंधित अधिकांश सलाह कई साल पुरानी है। मिश्रित अक्षरों का प्रयोग करें, संख्याएँ जोड़ें, कम से कम एक विशेष वर्ण शामिल करें, हर नब्बे दिनों में पासवर्ड बदलें - ये नियम दो दशकों तक सर्वमान्य रहे। संयुक्त राज्य अमेरिका के राष्ट्रीय मानक एवं प्रौद्योगिकी संस्थान ने आधिकारिक तौर पर इन नियमों को अस्वीकार कर दिया है।

डिजिटल पहचान संबंधी दिशानिर्देशों के लिए संघीय प्राधिकरण, NIST स्पेशल पब्लिकेशन 800-63B ने सितंबर 2024 में संशोधन 4 को अंतिम रूप दिया। नए दिशानिर्देश में किए गए बदलावों की वजह से काफी कुछ उल्लेखनीय है। सिंगल-फैक्टर ऑथेंटिकेशन के लिए न्यूनतम लंबाई की सिफारिश को बढ़ाकर पंद्रह अक्षर कर दिया गया है। अक्षर संरचना नियमों संबंधी निर्देश को "अनिवार्य नहीं" के रूप में व्यक्त किया गया है: सेवाओं को विशिष्ट अक्षर वर्गों की आवश्यकता नहीं होगी। आवधिक पासवर्ड समाप्ति, वह नब्बे-दिन का रोटेशन जिसे हर कोई नापसंद करता था, उसे भी हटा दिया गया है। इन नियमों के स्थान पर, NIST अब सेवाओं से अनुरोध करता है कि वे प्रस्तुत पासवर्ड की जांच ज्ञात रूप से असुरक्षित क्रेडेंशियल्स की ब्लॉकलिस्ट के विरुद्ध करें।

एंट्रॉपी गणित के आधार पर यह बदलाव उचित है। 62 वर्णों का अल्फ़ान्यूमेरिक पूल प्रति वर्ण लगभग 5.95 बिट्स उत्पन्न करता है। 95 वर्णों का पूर्ण मुद्रण योग्य ASCII पूल (अल्फ़ान्यूमेरिक और विशेष वर्णों सहित) 6.57 बिट्स उत्पन्न करता है। सभी विशेष वर्णों को जोड़ने से प्रति वर्ण 0.62 बिट्स की वृद्धि होती है। लंबाई में एक और वर्ण जोड़ने से पूरी 5.95 बिट्स की वृद्धि होती है। लंबाई जटिलता पर काफी हद तक हावी होती है।

वेरिज़ोन की 2025 डेटा ब्रीच इन्वेस्टिगेशन रिपोर्ट में पाया गया कि सभी पुष्ट ब्रीच एंट्री पॉइंट्स में से 22 प्रतिशत क्रेडेंशियल्स के ज़रिए किए गए थे। क्रेडेंशियल स्टफिंग — लीक हुई पासवर्ड सूचियों का स्वचालित पुन: उपयोग — प्रमाणीकरण प्रयासों के औसतन 19 प्रतिशत पर है, जो बढ़कर 44 प्रतिशत तक पहुँच जाता है। 49 प्रतिशत उपयोगकर्ता विभिन्न सेवाओं में एक ही पासवर्ड का पुन: उपयोग करते हैं। इनमें से कोई भी समस्या केवल बड़े अक्षरों को अनिवार्य करने से हल नहीं होती।

बिना किसी विशेष वर्ण वाला लंबा अल्फ़ान्यूमेरिक पासवर्ड, जटिलता मानकों को पूरा करने के लिए बनाए गए छोटे पासवर्ड की तुलना में क्रैक करना अधिक कठिन होता है। यदि आपका बैंक अभी भी आपको एक बड़े अक्षर, एक अंक और एक विशेष वर्ण वाले बारह अक्षरों का पासवर्ड बनाने के लिए बाध्य करता है, तो यह नीति अब अमेरिकी संघीय मानक के अनुरूप नहीं है।

अन्य जगहों पर अल्फ़ान्यूमेरिक अक्षर कहाँ दिखाई देते हैं?

क्रिप्टो से बाहर निकलें तो पासवर्ड और अल्फ़ान्यूमेरिक स्ट्रिंग अभी भी हर जगह सामने आते हैं जहां किसी सिस्टम को एक ऐसे पहचानकर्ता की आवश्यकता होती है जिसे मनुष्य टाइप कर सकें और कंप्यूटर बिना किसी अस्पष्टता के पार्स कर सकें।

बैंक कोड इसका एक आसान उदाहरण हैं। एक IBAN चौंतीस अक्षरों तक का हो सकता है और हमेशा दो अक्षरों वाले ISO देश कोड से शुरू होता है। SWIFT/BIC कोड आठ या ग्यारह अक्षरों के होते हैं। लाइसेंस प्लेटें देश के अनुसार अलग-अलग होती हैं - यूके की प्लेट जर्मनी की प्लेट से बिलकुल अलग होती है - लेकिन दोनों ही 62 प्रतीकों के एक ही समूह के अक्षरीय उपसमूह हैं। वाहन पहचान संख्या (VIN) विश्व स्तर पर ठीक सत्रह अक्षरों की होती है, और VIN में जानबूझकर I, O और Q अक्षरों का उपयोग नहीं किया जाता है ताकि वे अंकों से स्पष्ट रूप से अलग दिखें।

API कुंजी आम उदाहरण हैं जिन पर अधिकांश उपयोगकर्ता ध्यान नहीं देते। एक Stripe लाइव कुंजी `sk_live_` और एक अल्फ़ान्यूमेरिक टोकन से खुलती है। एक AWS एक्सेस कुंजी `AKIA` और सोलह अल्फ़ान्यूमेरिक वर्णों से खुलती है। 2021 के बाद जारी किया गया GitHub व्यक्तिगत एक्सेस टोकन `ghp_` से खुलता है। ये उपसर्ग स्वयं अल्फ़ान्यूमेरिक हैं, जिन्हें इसलिए चुना गया है ताकि प्रदाता सार्वजनिक रिपॉजिटरी और लॉग को लीक हुई कुंजियों के लिए स्कैन कर सकें। कई मामलों में, यह स्कैन किसी भी हमलावर से पहले ही चूक पकड़ लेता है।

क्यूआर कोड का संक्षिप्त उल्लेख आवश्यक है। आईएसओ/आईईसी 18004 मानक एक विशिष्ट "अल्फा न्यूमेरिक मोड" को परिभाषित करता है जो 45 अक्षरों के एक विशेष सेट (बड़े अक्षर, अंक, रिक्त स्थान और कुछ विराम चिह्न) को सामान्य बाइट मोड की तुलना में अधिक कुशलता से एन्कोड करता है। केवल बड़े अक्षरों वाले अल्फा न्यूमेरिक कंटेंट वाले क्यूआर कोड में समान कंटेंट को रॉ बाइट्स के रूप में एन्कोड करने की तुलना में प्रति वर्ग लगभग 1.6 गुना अधिक डेटा संग्रहीत होता है।

बेस32, बेस58, बेस64: क्रिप्टो कब एक उपसमूह चुनता है

बाइनरी को अल्फ़ान्यूमेरिक उपसमूह में मैप करने के लिए विशेष रूप से कुछ एन्कोडिंग मानक मौजूद हैं। संदर्भ के लिए, IETF द्वारा 2006 में प्रकाशित RFC 4648 का उपयोग किया गया है। यह तीन एन्कोडिंग को परिभाषित करता है।

हेक्साडेसिमल सबसे सरल है। आधिकारिक तौर पर इसे बेस16 कहा जाता है। इसमें सोलह अक्षर होते हैं: 0–9, a–f। इसका उपयोग एथेरियम एड्रेस, क्रिप्टोग्राफिक हैश और लगभग हर तरह के लो-लेवल डिबगिंग में किया जाता है जहाँ आपको रॉ बाइट्स पढ़ने की आवश्यकता होती है। बेस32 अधिक रोचक है। 32 अक्षरों की इस वर्णमाला को केस-इनसेंसिटिव होने के लिए चुना गया था और कुछ वेरिएंट में, दिखने में भ्रमित करने वाले अंकों 0, 1, 8 और 9 को हटा दिया गया था। जिस किसी ने भी टू-फैक्टर ऑथेंटिकेशन सेट अप किया है और गूगल ऑथेंटिकेटर में कोई सीक्रेट टाइप किया है, उसने ज्यादातर अनजाने में बेस32 ही टाइप किया है।

Base64 एक प्रमुख प्रारूप है। इसमें 62 अक्षर-संख्याएँ और दो चिह्न `+` और `/` शामिल हैं। URL-सुरक्षित संस्करण में इन चिह्नों को `-` और `_` से बदल दिया जाता है। Base64 ही आपके ईमेल अटैचमेंट को ले जाता है, HTML में डेटा-URL को एन्कोड करता है और OAuth के लिए JSON वेब टोकन को पैकेज करता है।

बिटकॉइन का बेस58, RFC 4648 के दायरे से बाहर है। इसे सतोशी नाकामोतो ने स्वतंत्र रूप से बनाया था। उनका लक्ष्य अलग था - पतों को दोबारा टाइप करना, न कि प्रति अक्षर बाइट्स की दक्षता - और परिणामस्वरूप एक ऐसा विशिष्ट वर्णमाला बना जिसका उपयोग कोई और नहीं करता। बेस85, जिसे कभी-कभी Ascii85 भी कहा जाता है, इसके विपरीत काम करता है। यह चार बाइट्स को पाँच अक्षरों में समाहित करता है और PDF और पोस्टस्क्रिप्ट फ़ाइलों में दिखाई देता है, जहाँ अतिरिक्त घनत्व पठनीयता में होने वाली कमी को उचित ठहराता है।

अक्षरांकीय वर्ण

सामान्य गलतियाँ: दृश्य भ्रम और एक जैसे दिखने वाले उत्पाद

क्रिप्टो में अल्फ़ान्यूमेरिक के उपसमूहों को चुनने के जो कारण हैं, वही कारण हैं जिनसे हर कोई गलतियाँ करता है। कुछ चुनिंदा अक्षर युग्म ही अधिकांश समस्याओं का कारण बनते हैं।

कुछ आम भ्रम पैदा करने वाले अक्षर हैं: शून्य और बड़ा अक्षर O। अंक एक, छोटा अक्षर l, बड़ा अक्षर I। छोटा अक्षर l और बड़ा अक्षर I। इसी वजह से बिटकॉइन बेस58 इन चारों को हटा देता है। अन्य प्रणालियाँ अलग-अलग उपाय अपनाती हैं — VIN में I, O और Q को हटा दिया जाता है, कुछ वित्तीय कोड में O को पूरी तरह से हटा दिया जाता है, और आपको राष्ट्रीय लाइसेंस प्लेट के नियम भी मिल सकते हैं जो उस अक्षर को प्रतिबंधित करते हैं जो उस देश के फ़ॉन्ट में 0 जैसा दिखता है।

एक अधिक जटिल और हालिया समस्या यूनिकोड होमोग्राफ हमले हैं। इस विचार को 2001 में एवगेनी गैब्रिलोविच और एलेक्स गोंटमाकर के एक शोध पत्र में प्रलेखित किया गया था। होमोग्राफ में एक अलग लिपि के दिखने में समान अक्षर को बदल दिया जाता है — उदाहरण के लिए, लैटिन 'a' (U+0061) के स्थान पर सिरिलिक 'а' (U+0430)। इस प्रतिस्थापन के साथ एक डोमेन नाम पंजीकृत करके आप एक फ़िशिंग पेज होस्ट कर सकते हैं जो असली बैंक से बिल्कुल अलग नहीं दिखता। आधुनिक ब्राउज़र जब भी कोई डोमेन मिश्रित लिपियों का उपयोग करता है, तो उसका मूल पुनीकोड निरूपण — जैसे `xn--80akhbyknj4f` — प्रदर्शित करते हैं। यह बचाव अधिकांश हमलों को रोक देता है, लेकिन सभी को नहीं।

2026 में एक मजबूत अल्फ़ान्यूमेरिक पासवर्ड कैसे बनाएं

तीन नियम। ये सभी नियम सीधे NIST के गणितीय विश्लेषण से लिए गए हैं।

पहला: लंबाई, अक्षर वर्ग से अधिक महत्वपूर्ण है। सोलह या उससे अधिक अक्षरों का लक्ष्य रखें। यह नियम तब भी लागू होता है जब सिस्टम केवल अक्षर और अंक स्वीकार करता हो या संपूर्ण मुद्रण योग्य ASCII सेट।

दूसरा: अगर आपको इसे याद रखना ही है, तो एक पासफ़्रेज़ का इस्तेमाल करें। शब्दों की एक बड़ी सूची में से चार यादृच्छिक शब्द - डाइसवेयर सूची सबसे अच्छा विकल्प है - किसी भी ऐसे छोटे पासवर्ड से बेहतर प्रदर्शन करते हैं जिसे कोई व्यक्ति बैठकर बना सकता है।

तीसरा: बाकी सभी कामों के लिए पासवर्ड मैनेजर का इस्तेमाल करें। मैनेजर को लंबी अल्फ़ान्यूमेरिक स्ट्रिंग जनरेट करने दें जिन्हें आपको कभी हाथ से पढ़ना या टाइप करना न पड़े। एक बार मैनेजर आउटपुट को संभाल लेता है, तो आउटपुट की पठनीयता का कोई महत्व नहीं रह जाता।

त्वरित संदर्भ: वर्णानुक्रमिक गणनाएँ और उदाहरण

केस सेंसिटिविटी के साथ 62। केस सेंसिटिविटी के बिना 36। अंकों के लिए ASCII कोड 48-57। अपरकेस के लिए 65-90। लोअरकेस के लिए 97-122। पूरे सेट को रेगुलर एक्सप्रेशन `[A-Za-z0-9]` या POSIX क्लास `[:alnum:]` से मैच करें। ये 62 सिंबल का समूह ही लगभग हर डिजिटल आइडेंटिफायर का आधार है जिसे आप इस सप्ताह इस्तेमाल करेंगे। पासवर्ड। API कुंजी। IBAN। लाइसेंस प्लेट। ट्रांजैक्शन ID। आपके द्वारा जनरेट किया गया हर वॉलेट एड्रेस।

कोई प्रश्न?

क्योंकि सातोशी नाकामोतो ने बैठकर आम फ़ॉन्ट में मौजूद उन सभी अक्षरों को हटा दिया जो देखने में एक-दूसरे से मेल नहीं खाते थे। शून्य बड़े अक्षर O से मेल नहीं खाता। छोटा अक्षर l बड़े अक्षर I से मेल नहीं खाता। कागज़ पर मौजूद किसी बिटकॉइन उपयोगकर्ता को पता दोबारा टाइप करने में परेशानी होगी। इस भ्रम के कारण लोगों को पैसों का नुकसान उठाना पड़ता है। इन चार गलतियों को हटा देने से टाइपिंग की गलतियों की दर में भारी गिरावट आएगी।

नहीं। विराम चिह्न, गणितीय चिह्न, मुद्रा चिह्न, रिक्त स्थान—अक्षर या अंक के अलावा सब कुछ अल्फ़ान्यूमेरिक समूह से बाहर होता है। आप इन्हें पासवर्ड में जोड़ सकते हैं और प्रत्येक अक्षर के लिए थोड़ी सी एन्ट्रॉपी प्राप्त कर सकते हैं। लंबाई में एक अतिरिक्त अक्षर जोड़ने से आमतौर पर काफी अधिक लाभ होता है।

अक्षरों और अंकों से बना पासवर्ड, जिसमें कोई प्रतीक न हो। NIST SP 800-63B Rev 4 — जो सितंबर 2024 में प्रकाशित हुआ — ने अपने वर्तमान संशोधन में विशेष वर्णों की आवश्यकता को समाप्त कर दिया है। वर्तमान अनुशंसा कम से कम पंद्रह अक्षर का पासवर्ड और ज्ञात रूप से लीक हुए क्रेडेंशियल्स के विरुद्ध ब्लॉकलिस्ट जांच है। अधिकांश कॉर्पोरेट पासवर्ड नीतियां अभी भी इस दिशा-निर्देश से कुछ साल पीछे हैं।

हाँ, हालाँकि पूरा सेट कभी नहीं। पुराने बिटकॉइन पते Base58 का उपयोग करते हैं, जो 0, 0, 1 और 1 को हटा देता है। Bech32 SegWit पते बत्तीस अक्षरों के छोटे अक्षरों के एक उपसमूह का उपयोग करते हैं जो 1, 1, 1, 1 और 1 को हटा देता है। दोनों विकल्पों के पीछे का तर्क एक ही है - लोग मिलते-जुलते अक्षरों को दोबारा टाइप करते समय भ्रमित हो जाते हैं, और भ्रमित होकर दोबारा टाइप करने वाले पैसे खो देते हैं।

नहीं। स्पेस व्हाइटस्पेस श्रेणी में आता है, जो पूरी तरह से एक अलग श्रेणी है। कोई भी टेस्ट चलाकर देखें — POSIX `[:alnum:]`, रेगुलर एक्सप्रेशन `[A-Za-z0-9]`, Python का `isalnum()`, JavaScript का रेगुलर एक्सप्रेशन `\w` — और ये सभी स्पेस, टैब और न्यूलाइन को अस्वीकार कर देते हैं।

अगर केस का महत्व हो तो 62। 26 बड़े अक्षर, 26 छोटे अक्षर, कुल दस अंक। केस सेंसिटिविटी बंद कर दें तो 36 अक्षर होंगे। यह विभाजन 1968 के ASCII मानक से चला आ रहा है। तब से इसमें कोई बदलाव नहीं हुआ है।

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.