Password Generator

कस्टम लंबाई और character set के साथ मज़बूत random पासवर्ड बनाएं

लंबाई20
संख्या5

Password Generator क्या है?

Password Generator उपयोगकर्ता खातों, API keys, database credentials और encryption secrets के लिए random character strings बनाता है। इंसानों द्वारा चुने गए पासवर्ड के विपरीत, जनरेट किए गए पासवर्ड संभावित वर्ण संयोजनों के पूर्ण स्थान से लिए जाते हैं, जो उन्हें शब्दकोश हमलों और पैटर्न-आधारित अनुमान के प्रति प्रतिरोधी बनाता है। यह उपकरण आपके ब्राउज़र के अंतर्निर्मित क्रिप्टोग्राफ़िक रैंडम नंबर जनरेटर का उपयोग करके ऑनलाइन मज़बूत रैंडम पासवर्ड बनाता है।

पासवर्ड की मज़बूती दो कारकों पर निर्भर करती है: लंबाई और वर्ण विविधता। अपरकेस, लोअरकेस, अंकों और प्रतीकों का उपयोग करने वाले 20-वर्ण के पासवर्ड में लगभग 131 बिट एन्ट्रॉपी होती है। उस स्तर पर, एक ब्रूट-फ़ोर्स हमला जो प्रति सेकंड एक ट्रिलियन अनुमान परखता है, हर संयोजन को आज़माने के लिए ब्रह्मांड की आयु से भी अधिक समय लेगा। गणित सीधा है: एन्ट्रॉपी = लंबाई × log2(character set size)।

NIST SP 800-63B जैसे मानक कम से कम 8 वर्णों के पासवर्ड की अनुशंसा करते हैं जिनकी कोई ऊपरी सीमा वैलिडेटर द्वारा enforce नहीं की जाती, और ठीक एक प्रतीक की आवश्यकता जैसे बाध्य संरचना नियमों को मना करते हुए लंबे पासफ़्रेज़ को प्राथमिकता देते हैं। मशीन-से-मशीन क्रेडेंशियल और सेवा खातों के लिए, पूर्ण वर्ण सेट से लिए गए 20 या अधिक यादृच्छिक वर्ण अधिकांश सुरक्षा फ़्रेमवर्क और अनुपालन व्यवस्थाओं में स्वीकृत आधार रेखा है।

Password Generator का उपयोग क्यों करें?

इंसान स्वभाव से अच्छे रैंडम नंबर जनरेटर नहीं होते। हम पासवर्ड पुनः उपयोग करते हैं, शब्दकोश के शब्द चुनते हैं, अक्षरों को अनुमानित पैटर्न से बदलते हैं (a के लिए @, e के लिए 3), और छोटी स्ट्रिंग पर निर्भर रहते हैं। Password Generator इस प्रक्रिया से मानवीय पूर्वाग्रह हटा देता है।

🔐
गोपनीयता-प्रथम निर्माण
पासवर्ड पूरी तरह आपके ब्राउज़र में Web Crypto API का उपयोग करके बनाए जाते हैं। कोई भी वर्ण आपके डिवाइस से बाहर नहीं जाता, कुछ भी लॉग नहीं होता, और निर्माण के दौरान कोई नेटवर्क अनुरोध नहीं किया जाता।
त्वरित बैच आउटपुट
एक बार में एक क्लिक से 20 पासवर्ड तक बनाएं। प्रोविज़निंग स्क्रिप्ट या क्रेडेंशियल वॉल्ट के लिए अलग-अलग पासवर्ड या सभी एक साथ कॉपी करें।
🛡️
कोई खाता आवश्यक नहीं
कोई साइन-अप नहीं, कोई ईमेल नहीं, आपके बनाए पासवर्ड को ट्रैक करने वाली कोई कुकी नहीं। पेज खोलें, अपने विकल्प कॉन्फ़िगर करें और बनाएं।
🎛️
पूर्ण वर्ण सेट नियंत्रण
अपरकेस, लोअरकेस, अंकों और प्रतीकों को स्वतंत्र रूप से चालू या बंद करें। किसी भी सिस्टम या नीति की आवश्यकताओं के अनुरूप 4 से 128 वर्णों तक लंबाई निर्धारित करें।

Password Generator के उपयोग के मामले

Frontend विकास
फ़ॉर्म सत्यापन, इनपुट लंबाई परीक्षण और प्रमाणीकरण प्रवाह विकास के लिए परीक्षण पासवर्ड बनाएं। सत्यापित करें कि आपके लॉगिन फ़ॉर्म 128-वर्ण के पासवर्ड और विशेष वर्णों को सही तरीके से संभालते हैं।
Backend और DevOps
Infrastructure setup के दौरान database credentials, API tokens और service account पासवर्ड बनाएं। एक ही session में कई services provision करने के लिए batch generation use करें।
Security Engineering
Encryption keys, HMAC signatures और JWT secret rotation के लिए high-entropy secrets बनाएं। उन secrets के लिए लंबाई 64+ characters रखें जिन्हें 256-bit entropy से अधिक की ज़रूरत है।
QA और Penetration Testing
विशिष्ट वर्ण सेट को शामिल या बाहर करने वाली स्ट्रिंग बनाकर पासवर्ड नीति लागूकरण का परीक्षण करें। सत्यापित करें कि सिस्टम न्यूनतम लंबाई या जटिलता से कम पासवर्ड को सही तरीके से अस्वीकार करते हैं।
Data Engineering
परीक्षण वातावरण, स्टेजिंग डेटाबेस और CI/CD पाइपलाइन गोपनीय डेटा के लिए यादृच्छिक क्रेडेंशियल बनाएं। प्रत्येक वातावरण के लिए नए पासवर्ड बनाकर परीक्षण डेटा में उत्पादन पासवर्ड के पुनः उपयोग से बचें।
व्यक्तिगत खाता सुरक्षा
प्रत्येक ऑनलाइन खाते के लिए अद्वितीय पासवर्ड बनाएं। उन क्रेडेंशियल को संग्रहीत करने के लिए इस जनरेटर को पासवर्ड मैनेजर के साथ जोड़ें जिन्हें आपको याद रखने की आवश्यकता नहीं है।

पासवर्ड एन्ट्रॉपी संदर्भ

एन्ट्रॉपी मापती है कि पासवर्ड कितना अनुमानातीत है। इसकी गणना log2(charset_size ^ length) के रूप में की जाती है। अधिक एन्ट्रॉपी का अर्थ है कि किसी हमलावर को अधिक संभावित संयोजनों की खोज करनी होगी। NIST और OWASP उच्च-सुरक्षा अनुप्रयोगों के लिए कम से कम 80 बिट एन्ट्रॉपी की अनुशंसा करते हैं।

लंबाईवर्ण सेटएन्ट्रॉपीब्रूट-फ़ोर्स समय
8lower + digits~41 bitsMinutes to hours
12lower + upper + digits~71 bitsCenturies (offline)
16all character sets~105 bitsBeyond brute-force
20all character sets~131 bitsBeyond brute-force
32all character sets~210 bitsBeyond brute-force
64all character sets~419 bitsBeyond brute-force

क्रैक समय प्रति सेकंड 1 ट्रिलियन अनुमान मानते हैं (आधुनिक GPU के साथ ऑफ़लाइन हमला)। दर सीमा वाले ऑनलाइन हमले कई गुना धीमे होते हैं।

पासवर्ड निर्माण के लिए CSPRNG बनाम Math.random()

यादृच्छिकता का स्रोत पासवर्ड की लंबाई जितना ही महत्वपूर्ण है। अनुमानित यादृच्छिक संख्या जनरेटर से बनाए गए पासवर्ड को कोई हमलावर जो एल्गोरिदम और बीज स्थिति जानता है, पुनः निर्मित कर सकता है। यह उपकरण crypto.getRandomValues() का उपयोग करता है, जो प्रत्येक आधुनिक ब्राउज़र में अंतर्निर्मित क्रिप्टोग्राफ़िक रूप से सुरक्षित छद्म-यादृच्छिक संख्या जनरेटर (CSPRNG) है।

crypto.getRandomValues()
OS entropy sources (hardware RNG, interrupt timing आदि) का उपयोग करता है। आउटपुट अनुमान लगाना संभव नहीं, भले ही हमलावर सभी पिछले आउटपुट जानता हो। Security-sensitive operations के लिए W3C Web Crypto spec द्वारा ज़रूरी है।
Math.random()
सीमित entropy pool से seed किए गए deterministic algorithm का उपयोग करता है। seed state पता हो तो आउटपुट predict किया जा सकता है। ECMAScript spec साफ कहता है कि Math.random() क्रिप्टोग्राफ़िक रूप से सुरक्षित random numbers नहीं देता। इसे पासवर्ड बनाने के लिए कभी use न करें।

कोड उदाहरण

विभिन्न प्रोग्रामिंग भाषाओं में प्रोग्रामेटिक रूप से पासवर्ड बनाएं। नीचे दिए गए प्रत्येक उदाहरण में क्रिप्टोग्राफ़िक रूप से सुरक्षित यादृच्छिक स्रोत का उपयोग किया गया है, न कि Math.random() या समकक्ष कमज़ोर PRNG का।

JavaScript (Web Crypto API)
// Generate a random password in the browser or Node.js 19+
function generatePassword(length = 20) {
  const charset = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*'
  const values = new Uint32Array(length)
  crypto.getRandomValues(values)
  return Array.from(values, v => charset[v % charset.length]).join('')
}

console.log(generatePassword())    // → "kR7!mZp$Xw2&nLq9@Yf3"
console.log(generatePassword(32))  // → "Hd4%tNx!Qw8#mKp2Rv6&Zj0*Ls3Yb7@"
Python
import secrets
import string

def generate_password(length: int = 20) -> str:
    """Generate a cryptographically secure random password."""
    alphabet = string.ascii_letters + string.digits + string.punctuation
    return ''.join(secrets.choice(alphabet) for _ in range(length))

# Single password
print(generate_password())      # → "kR7!mZp$Xw2&nLq9@Yf3"

# Batch of 5 passwords
for _ in range(5):
    print(generate_password(24))

# Ensure at least one char from each category
def generate_strong(length: int = 20) -> str:
    required = [
        secrets.choice(string.ascii_uppercase),
        secrets.choice(string.ascii_lowercase),
        secrets.choice(string.digits),
        secrets.choice(string.punctuation),
    ]
    remaining = length - len(required)
    alphabet = string.ascii_letters + string.digits + string.punctuation
    all_chars = required + [secrets.choice(alphabet) for _ in range(remaining)]
    secrets.SystemRandom().shuffle(all_chars)
    return ''.join(all_chars)
CLI (OpenSSL / /dev/urandom)
# OpenSSL — generate 32 random bytes, base64-encode
openssl rand -base64 32
# → "x7Kp2mNqR4wZ8vLs1Yb0Hd6tFj3Xc9Ga5eUi+Wo="

# /dev/urandom with tr — alphanumeric + symbols, 20 chars
tr -dc 'A-Za-z0-9!@#$%^&*' < /dev/urandom | head -c 20; echo
# → "kR7!mZp$Xw2&nLq9@Yf3"

# pwgen (install: apt install pwgen / brew install pwgen)
pwgen -sy 20 5
# Generates 5 passwords, 20 chars each, with symbols
Go
package main

import (
    "crypto/rand"
    "fmt"
    "math/big"
)

func generatePassword(length int) (string, error) {
    charset := "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()"
    result := make([]byte, length)
    for i := range result {
        idx, err := rand.Int(rand.Reader, big.NewInt(int64(len(charset))))
        if err != nil {
            return "", err
        }
        result[i] = charset[idx.Int64()]
    }
    return string(result), nil
}

func main() {
    pwd, _ := generatePassword(20)
    fmt.Println(pwd) // → "kR7!mZp$Xw2&nLq9@Yf3"
}

सामान्य प्रश्न

पासवर्ड कितना लंबा होना चाहिए?
उपयोगकर्ता खातों के लिए, mixed character set के 16 characters 100 bits से ज़्यादा entropy देते हैं, जो सभी मौजूदा threat models के लिए काफी है। Machine secrets (API keys, encryption keys) के लिए 32 या ज़्यादा characters use करें। NIST SP 800-63B न्यूनतम 8 वर्ण निर्धारित करता है लेकिन अनुशंसा करता है कि सिस्टम बिना काटे बहुत लंबे पासवर्ड की अनुमति दें।
क्या यह password generator उपयोग करना सुरक्षित है?
हाँ। पासवर्ड आपके ब्राउज़र में Web Crypto API (crypto.getRandomValues) का उपयोग करके बनाए जाते हैं। कोई भी डेटा किसी सर्वर को नहीं भेजा जाता। आप इसे अपने ब्राउज़र का नेटवर्क टैब खोलकर और यह देखकर सत्यापित कर सकते हैं कि Generate पर क्लिक करने पर कोई अनुरोध नहीं किया जाता। स्रोत कोड क्लाइंट-साइड JavaScript है, जो आपके ब्राउज़र के डेवलपर टूल में दिखाई देता है।
पासवर्ड एन्ट्रॉपी क्या है?
एन्ट्रॉपी बिट में व्यक्त यादृच्छिकता का एक माप है। N बिट एन्ट्रॉपी वाले पासवर्ड के 2^N संभावित मान होते हैं। उदाहरण के लिए, 95 प्रिंट करने योग्य ASCII वर्णों से लिए गए 20-वर्ण के पासवर्ड में log2(95^20) = 131.1 बिट एन्ट्रॉपी है। प्रत्येक अतिरिक्त बिट हमलावर के लिए आवश्यक अनुमानों की संख्या दोगुनी कर देता है।
क्या मुझे अपने पासवर्ड में प्रतीक शामिल करने चाहिए?
प्रतीक शामिल करने से वर्ण सेट 62 (अक्षर + अंक) से बढ़कर 95 (प्रिंट करने योग्य ASCII) हो जाता है, जो प्रति वर्ण लगभग 6.1 बिट एन्ट्रॉपी जोड़ता है। कुछ सिस्टम प्रतिबंधित करते हैं कि कौन से प्रतीक अनुमत हैं। यदि कोई सिस्टम कुछ प्रतीकों को अस्वीकार करता है, तो प्रतीक विकल्प बंद करें और लंबे पासवर्ड से क्षतिपूर्ति करें। 24-वर्ण का अक्षरांकीय पासवर्ड, प्रतीकों वाले 16-वर्ण के पासवर्ड से अधिक एन्ट्रॉपी रखता है।
पासवर्ड बनाने के लिए Math.random() का उपयोग क्यों नहीं करें?
Math.random() क्रिप्टोग्राफ़िक रूप से सुरक्षित नहीं है। अधिकांश JavaScript इंजन इसे xorshift128+ या इसी तरह के तेज़ PRNG के साथ लागू करते हैं जो सुरक्षा के लिए नहीं बल्कि सिमुलेशन और गेम के लिए बनाया गया है। एक हमलावर जो कुछ आउटपुट देखता है, आंतरिक स्थिति पुनः प्राप्त कर सकता है और सभी भावी आउटपुट का अनुमान लगा सकता है। Web Crypto API ऑपरेटिंग सिस्टम एन्ट्रॉपी स्रोतों का उपयोग करता है जो अनुमानातीत हैं।
क्या मैं API कुंजियों और टोकन के लिए बनाए गए पासवर्ड का उपयोग कर सकता हूँ?
हाँ, लेकिन target system की format requirements देख लें। कुछ APIs random characters की जगह base64-encoded keys या hex strings expect करते हैं। Raw secrets generate करने के लिए 32+ characters पर full character set use करें। base64 कुंजियों के लिए, base64 को पासवर्ड वर्ण सेट मानने के बजाय यादृच्छिक बाइट बनाएं और उन्हें अलग से एन्कोड करें।
पासवर्ड कितनी बार बदलने चाहिए?
NIST SP 800-63B (2017, 2024 में updated) user passwords के लिए forced periodic rotation recommend नहीं करता क्योंकि इससे लोग कमज़ोर पासवर्ड चुनते हैं। सिर्फ तब बदलें जब compromise का evidence हो। Machine secrets और service accounts के लिए, अपने organization के risk model के हिसाब से rotate करें — आमतौर पर high-privilege credentials के लिए हर 90 दिन में।

संबंधित टूल

Word Counterशब्द, वर्ण, वाक्य, अनुच्छेद गिनें और पढ़ने का अनुमानित समय जानेंCase Converterटेक्स्ट को uppercase, lowercase, title case, camelCase, snake_case और अन्य फ़ॉर्मैट में बदलेंLorem Ipsum Generatorकॉन्फ़िगर करने योग्य पैराग्राफ और शब्दों के साथ lorem ipsum प्लेसहोल्डर टेक्स्ट जेनरेट करेंलाइन सॉर्टरपंक्तियों को वर्णमाला, लंबाई या यादृच्छिक क्रम में क्रमबद्ध करें या क्रम उलटेंDuplicate Line Removerटेक्स्ट से डुप्लीकेट पंक्तियाँ हटाएँ, केवल अद्वितीय पंक्तियाँ बनाए रखेंText Diffदो टेक्स्ट को साथ-साथ रखकर तुलना करें और पंक्ति दर पंक्ति अंतर हाइलाइट करेंRegex Testerकिसी स्ट्रिंग के विरुद्ध रेगुलर एक्सप्रेशन का परीक्षण करें और सभी मिलान हाइलाइट देखेंMarkdown PreviewMarkdown टेक्स्ट को रियल-टाइम में HTML के रूप में प्रदर्शित करेंSlug Generatorकिसी भी टेक्स्ट को साफ URL-अनुकूल स्लग में परिवर्तित करें