Password Generator: मज़बूत यादृच्छिक character password
क्रिप्टोग्राफ़िक रूप से सुरक्षित यादृच्छिक password (8-128 character) बनाएँ — customizable character sets, ambiguous-character filter और live entropy के साथ।
Password Generator क्या है?
Password Generator crypto.getRandomValues और rejection sampling का उपयोग करके सघन यादृच्छिक-character password बनाता है, जिससे हर character चुने गए alphabet से एकसमान संभावना के साथ लिया जाता है और कोई modulo bias नहीं होता। यह सही tool है जब आपको ऐसा credential चाहिए जिसे आप कभी हाथ से टाइप नहीं करेंगे — API keys, password manager entries, service accounts, vault में रहने वाली कोई भी चीज़। मैं लगभग हर चीज़ के लिए सभी चार character classes के साथ default रूप से 24 characters लेता हूँ, फिर root accounts और signing keys के लिए 32 या 40 तक बढ़ाता हूँ। अगर आप सघन के बजाय याद रखने योग्य कुछ चाहते हैं, तो इसी site पर Passphrase Generator XKCD-शैली का word-आधारित दृष्टिकोण देता है। यह पृष्ठ विपरीत trade-off के बारे में है: प्रति character अधिकतम entropy, शून्य memorability।
मुख्य विशेषताएँ
- क्रिप्टोग्राफ़िक रूप से सुरक्षित स्रोत — randomness
crypto.getRandomValuesसे आती है, जो Web Crypto API के पीछे का CSPRNG है। Generator naive modulo के बजाय rejection sampling का उपयोग करता है, जिससे 88-character alphabet भी पहले 26 अक्षरों की ओर bias किए बिना एकसमान वितरित picks देता है। - 8 से 128 तक का length slider — खींचें या एक संख्या टाइप करें। साथ का number input आपको exact value भरने देता है। आठ इसलिए न्यूनतम है क्योंकि उससे छोटा generate करने योग्य नहीं; 128 truncate करने वाले fields के लिए छत है।
- चार स्वतंत्र character-class toggles — uppercase A-Z, lowercase a-z, digits 0-9, और symbols
!@#$%^&*()_+-=[]{}|;:,.<>?। जो आपका target system reject करे, उसे hटा दें। Tool अंतिम बची class को uncheck करने से रोकता है, ताकि आप खाली alphabet से generate नहीं कर सकें। - Ambiguous characters बाहर रखें — alphabet से
O,0,I,l,1हटाता है। प्रति character लगभग 0.4 bits की लागत होती है और छपे हुए recovery code पर आँखें सिकोड़ने से बचाता है। - Live entropy panel — जैसे ही आप classes toggle करें या length slider खींचें, total bits, charset size, और bits per character फिर से compute होते हैं। Bit total सात-स्तरीय पैमाने पर color-coded है: Weak (लाल) से Ludicrous (इंद्रधनुष)।
- 100 तक bulk generation — count slider सेट करें और एक बार में 100 तक उम्मीदवार तैयार करने के लिए Generate पर click करें, प्रत्येक अपनी individual entropy reading के साथ।
- Per-row और bulk copy — हर generated password का अपना copy button है, और Copy All list को newlines के साथ जोड़कर copy करता है। दोनों Clipboard API उपलब्ध न होने पर
execCommand('copy')पर fallback करते हैं। - हर password का strength tier — हर output line अपना bit count और एक रंगीन tier label दिखाती है (Weak, Fair, Good, Strong, Very Strong, Fortress, Ludicrous)।
Password Generator कैसे उपयोग करें
चरण 1: लंबाई सेट करें
"Length" slider 8 से 128 तक चलता है। Label वर्तमान value दिखाता है। उसके बगल में स्थित number input वही range स्वीकार करता है और tab करने पर सीमा से बाहर के values को clamp करता है। सोलह default है, जो सामान्य accounts के लिए ठीक है; संवेदनशील चीज़ों के लिए 24 या 32 पर जाएँ।
चरण 2: Character classes चुनें
"Character Sets" के नीचे चार checkboxes alphabet को toggle करते हैं:
- Uppercase (A-Z) — 26 characters
- Lowercase (a-z) — 26 characters
- Numbers (0-9) — 10 characters
- Symbols —
!@#$%^&*()_+-=[]{}|;:,.<>?से 26 characters
सभी चार default रूप से on होते हैं, जो 88-character alphabet (~6.46 bits per character) देते हैं। जो आपका target system प्रतिबंधित करे, उसे uncheck करें। यदि कोई service symbols reject करती है, तो आप प्रति character लगभग 0.4 bits खो देते हैं; कुछ अतिरिक्त characters की लंबाई से इसकी भरपाई करें।
चरण 3: Ambiguous characters पर निर्णय लें
Class toggles के नीचे की "Exclude ambiguous characters" checkbox combined alphabet से O, 0, I, l, 1 हटाती है। ऐसे किसी भी password के लिए इसे चेक करें जिसे आप कागज़ से पढ़ेंगे — छपे recovery codes, हाथ से लिखे wallet seeds, support को ज़ोर से पढ़कर बताए जाने वाले strings। Vault-only credentials के लिए जहाँ पठनीयता मायने नहीं रखती और हर bit मायने रखता है, इसे off रहने दें।
चरण 4: Entropy panel पढ़ें
Options के नीचे की ग्रे पट्टी तीन संख्याएँ दिखाती है:
- Total entropy — configured length और alphabet के password में randomness के bits, tier के अनुसार color-coded।
- Charset — class toggles और ambiguous-character exclusion के बाद वर्तमान alphabet size।
- Bits per char —
log2(charset_size)। सभी चार classes on और कोई exclusion नहीं:log2(88) ≈ 6.46।
Strength tiers कुल bit count से map करते हैं:
- Weak (लाल): 40 bits से कम
- Fair (नारंगी): 40-49 bits
- Good (पीला): 50-59 bits
- Strong (नीबूआ हरा): 60-79 bits
- Very Strong (सियान): 80-99 bits
- Fortress (बैंगनी): 100-149 bits
- Ludicrous (इंद्रधनुष): 150+ bits
व्यावहारिक उपयोग के लिए: 60 bits निचली सीमा है, 80 bits सामान्य लक्ष्य, 100+ master-credential या signing-key स्तर है।
चरण 5: Generate, निरीक्षण, copy
"Generate" count slider (1-100) सेट करें और Generate पर click करें। परिणाम एक scrollable list में दिखाई देते हैं, क्रमांकित, प्रत्येक अपनी entropy reading और tier label के साथ। एक row के बगल में copy icon उस एक password को copy करता है; Copy All पूरी list को newlines से जोड़कर copy करता है। Clear list साफ़ करता है। Results panel के शीर्ष पर Regenerate उन्हीं settings के साथ ताज़ा batch तैयार करता है।
व्यावहारिक उदाहरण
24-character password manager entry
Settings: Length 24, सभी चार classes on, exclude ambiguous off, count 5।
Sample output:
qP7$mK#xR2!nVz8&jL*pYwH9
यह 24 * log2(88) ≈ 155 bits है — Ludicrous tier। यह सामान्य "1Password में save करो और कभी मत देखो" credential है। एक बार में पाँच generate करना आपको ऐसा एक चुनने देता है जिसके पहले कुछ characters टाइप करने में असुविधाजनक नहीं हैं, यदि कभी आपका manager autofill करने में विफल हो जाए।
Compromised service account के लिए replacement API key
Settings: Length 40, uppercase + lowercase + digits, symbols off (कुछ HTTP clients अब भी headers में symbols को गलत तरीके से संभालते हैं), exclude ambiguous off।
Sample output:
aFq2KpRy7nMxBz4tHsWvLg3jCdN8VuTeXrYzPmQk
यह 40 * log2(62) ≈ 238 bits है। Symbols-off प्रति character entropy 6.46 से 5.95 तक गिरा देता है, लेकिन length इसकी भरपाई से अधिक करती है और आप उन edge cases से बचते हैं जहाँ header value में & या + कहीं अप्रत्याशित रूप से URL-decoded हो जाता है। Compromised key rotate होती है, नई value secret manager में जाती है, और 40-character लंबाई का अर्थ है कि अगर rotation system इसे गलती से log भी कर दे, तो brute force विकल्प नहीं है।
कभी न दोबारा देखे जाने वाली site के लिए throwaway password
Settings: Length 16, केवल lowercase + digits, exclude ambiguous on, count 1।
Sample output:
8kqr3zhmf4td9xbn
लगभग 16 log2(31) ≈ 79 bits। Ambiguous chars हटाकर lowercase और digits वही है जो आप तब लेते हैं जब किसी forum का signup form symbols reject करता है और आप यह debug करने में दो मिनट खर्च नहीं करना चाहते कि उनका validator पर क्यों चिल्लाता है। यह अब भी 79 bits है — Strong — जो कभी न लौटी जाने वाली site के लिए ज़रूरत से ज़्यादा है, लेकिन password manager याद रखता है, इसलिए ज़रूरत से ज़्यादा मुफ़्त है।
टिप्स और सर्वोत्तम अभ्यास
लंबाई complexity को हराती है। एक 30-character lowercase-only string (~141 bits) एक 16-character all-classes string (~103 bits) से अधिक मज़बूत है। यदि कोई site "uppercase, number, और symbol अनिवार्य" लागू करती है, तो सभी boxes चेक करें; अगर नहीं, तो लंबा-और-सरल आसान विकल्प है।
60 निचली सीमा, 80 सामान्य लक्ष्य, 100+ उच्च-मूल्य tier। 60 bits से नीचे, GPU clusters keyspace को दिनों में चबा सकते हैं। 80 के ऊपर, nation-state rigs को भी वर्ष लगते हैं। 100 के ऊपर आप brute-force regime से पूरी तरह बाहर हैं।
Password manager को सब कुछ याद रखने दें। एक यादृच्छिक 24-character password design से unmemorable है। यदि कोई credential ऐसा है जिसे आपको वास्तव में टाइप करना है — एक master password, एक disk encryption key, एक recovery phrase — तो उसे Passphrase Generator से तैयार करें।
दस तैयार करें और एक चुनें। Count 5-10 पर आप ऐसा उम्मीदवार खोज सकते हैं जो टाइप करने में कठिन sequence से शुरू न होता हो (!@#$ किसी भी अन्य चार characters के समतुल्य है, लेकिन ergonomically कठोर)।
Generated passwords को post-process न करें। Output स्वीकार करें या एक नया तैयार करें।
सामान्य समस्याएँ और troubleshooting
"Please select at least one character set" — हर class checkbox unchecked है। Tool अंतिम class को uncheck करने से रोकता है, लेकिन यह error तब दिखती है जब आप किसी class को check करने से पहले Generate दबाते हैं।
Site password को बहुत लंबा बताकर reject करती है। कुछ legacy forms input को 16, 20, या 32 characters पर चुपचाप काट देते हैं। यदि आप पूरे string से login नहीं कर सकते, length slider को कम करें और rotated credential के साथ पुनः प्रयास करें।
Site विशिष्ट symbols reject करती है। "Symbols" को पूरी तरह uncheck करें और length 4-6 characters बढ़ाएँ। इस generator में custom-symbol field नहीं है — symbols off रखकर generate करें, फिर अनुमत symbols को manually paste करें।
16 characters पर भी entropy reading "Weak" है। शायद आपकी केवल एक class checked है। सोलह digits-only 16 * log2(10) ≈ 53 bits हैं — Good। एक दूसरी class on करें।
Generated passwords "पर्याप्त यादृच्छिक नहीं" लगते हैं। यादृच्छिक output नियमित रूप से ऐसे clusters बनाता है जो यादृच्छिक नहीं लगते — लगातार तीन स्वर, दो आसन्न uppercase। एकसमान randomness ठीक यही उत्पन्न करती है।
गोपनीयता और सुरक्षा
Password generation आपके browser में crypto.getRandomValues का उपयोग करके चलता है, जो Web Crypto API द्वारा प्रदर्शित CSPRNG है। Generated passwords कभी किसी server पर नहीं भेजे जाते। Tool के नीचे का history panel हाल की generations केवल आपके browser की IndexedDB में store करता है ताकि आप कुछ ऐसा recover कर सकें जो आपने copy करके खो दिया; जब आप समाप्त कर लें तो उसे panel से साफ़ करें, या यदि आप कोई स्थानीय निशान नहीं चाहते तो tool को private/incognito window में उपयोग करें। Browser का CSPRNG हर आधुनिक platform पर OS-स्तरीय entropy द्वारा seed होता है, इसलिए "मुझ पर भरोसा करें, seed अच्छा है" वाला caveat नहीं है।
अक्सर पूछे जाने वाले प्रश्न
Passphrase के बजाय यादृच्छिक characters क्यों उपयोग करें?
यादृच्छिक characters प्रति character सघन हैं — सभी classes on के साथ लगभग 6.46 bits प्रति character, बनाम 7,776-शब्द passphrase list के लिए 12.9 bits प्रति शब्द। ऐसे credentials के लिए जिन्हें आप कभी टाइप नहीं करेंगे, density जीतती है क्योंकि length सस्ती है। ऐसे credentials के लिए जिन्हें आप टाइप करेंगे, passphrases जीतती हैं क्योंकि memorability मायने रखती है। Vault-only credentials के लिए इस tool का उपयोग करें और master passwords और recovery phrases के लिए Passphrase Generator।
Rejection sampling क्या है और यह क्यों मायने रखता है?
यदि आप एक यादृच्छिक byte (0-255) generate करें और 88-character alphabet से चुनने के लिए byte % 88 लें, तो byte % 88 के पहले 88 outputs अंतिम 80 की तुलना में थोड़े अधिक probable होते हैं, क्योंकि 256, 88 का गुणक नहीं है। Rejection sampling biased range में पड़ने वाले values को त्याग देता है और फिर से draw करता है, जिससे एकसमान वितरण उत्पन्न होता है। यह tool हर character के लिए 32-bit यादृच्छिक integer पर इसका उपयोग करता है।
मेरा password कितना लंबा होना चाहिए?
जो भी सामान्य credentials के लिए entropy panel में 80+ bits उत्पन्न करे, उच्च-मूल्य के लिए 100+। सभी चार classes on के साथ, 13 characters 84 bits हैं और 16 characters 103 bits। Panel गणना करता है; हरे या उससे अच्छे tier का लक्ष्य रखें।
क्या मैं ऐसा password generate कर सकता हूँ जो किसी विशिष्ट policy को पूरा करे (हर class से एक होना चाहिए)?
यह tool "कम से कम एक uppercase, कम से कम एक digit" नियम लागू नहीं करता। सभी चार classes checked और length ≥ 16 के साथ, किसी class के छूटने की व्यावहारिक संभावना 5% से कम है। यदि कोई form output reject करे, तो regenerate करें।
अगर मैं generated password खो दूँ तो क्या होगा?
यदि आपने इसे password manager में copy कर लिया है, वहाँ से recover करें। अन्यथा tool के नीचे History panel देखें — यह हाल की generations को आपके browser की IndexedDB में store करता है। यदि आपने history साफ़ कर दी है या incognito mode में generate किया है, तो password अप्राप्य है; target service पर credential rotate करें।
संबंधित Tools
- Passphrase Generator — हाथ से टाइप किए जाने वाले credentials के लिए XKCD-शैली के यादगार word passphrases generate करें।
- UUID Generator — जब आपको credential के बजाय एक globally unique identifier की आवश्यकता हो तो v4 UUIDs generate करें।
- Hash Suite — generated passwords के SHA-256, SHA-512, या BLAKE2 hashes तैयार करें ताकि उन्हें deterministic seeds के रूप में उपयोग किया जा सके।
- Base64 Encoder/Decoder — generated password को ऐसे environments में सुरक्षित transport के लिए encode करें जो raw bytes को गलत तरीके से संभालते हैं।
- जल्द आ रहा है: Argon2 Hash — जब आपको password को recovery के बजाय verification के लिए store करना हो, तो आधुनिक KDF के साथ password को hash करें।
Password Generator अभी आज़माएँ: Password Generator