Generate Strong Password — What Makes a Password Uncrackable
A strong password has high entropy — generated randomly from a large character set. Here's how to generate passwords that are genuinely uncrackable and how to use them with a...
A strong password is one that can’t be guessed, cracked by brute force, or found in a wordlist. The only way to guarantee strength is to generate it randomly from a cryptographically secure source — not to create it yourself.
Use the Password Generator to generate cryptographically random strong passwords.
What “strong” means quantitatively
Password strength is measured in bits of entropy:
Entropy = log₂(character_set_size ^ length)
At 100 billion guesses/second (aggressive GPU cracking):
| Entropy | Time to crack (expected) | Verdict |
|---|---|---|
| 40 bits | ~3 hours | Weak |
| 56 bits | ~20 years | Moderate |
| 72 bits | ~150 million years | Strong |
| 90 bits | ~40 billion years | Very strong |
| 128 bits | Never | Unbreakable |
Minimum for 2026: 72+ bits. Recommended: 80–100+ bits.
How to achieve 80+ bits of entropy
Character set and length combinations:
| Length | Character set | Entropy |
|---|---|---|
| 12 chars | Lowercase only (26 chars) | 56 bits |
| 16 chars | Lowercase only | 75 bits |
| 12 chars | Mixed case + digits (62 chars) | 71 bits |
| 16 chars | Mixed case + digits | 95 bits |
| 12 chars | Full ASCII printable (95 chars) | 79 bits |
| 16 chars | Full ASCII printable | 105 bits |
| 20 chars | Full ASCII printable | 131 bits |
Recommendations:
- Minimum: 16 characters, mixed case + digits + symbols (95 bits)
- Standard: 20 characters, full ASCII (131 bits)
- High-security accounts (email, banking): 24+ characters
Why humans create weak passwords
Human-generated passwords follow predictable patterns that password crackers exploit:
- Dictionary words: Every dictionary word is in every wordlist
- Leet speak:
P@ssw0rdis immediately recognizable (@=a,0=o) - Capitalized first letter:
Password1!— the most common pattern - Number/symbol append: Appending
123!or2024to any word - Keyboard patterns:
qwerty,1234,!@#$ - Personal information: Birthdays, pet names, anniversaries (found via social media)
- Transformed common passwords: Variations on known breached passwords
A cracking ruleset like Hashcat’s best64.rule generates hundreds of thousands of variations per dictionary word. Any password derived from a word is cracked quickly.
The only solution: Don’t create passwords. Generate them.
How to generate strong passwords
Using the Password Generator
The Password Generator uses crypto.getRandomValues() — the browser’s cryptographically secure random number generator:
- Set length to 20 (minimum 16)
- Enable all character classes: lowercase, uppercase, digits, symbols
- Click Generate
- Copy and store in your password manager
Why it’s secure: crypto.getRandomValues() pulls entropy from the operating system (hardware events, timing, network activity). The output is not predictable, not reproducible, and contains no patterns.
Why other methods fail:
Math.random(): Seeded with predictable timestamp, output is predictable- Human-generated passwords: See above
- Simple online generators without CSPRNGs: May use weak randomness
In your code (if you need to generate passwords programmatically)
// Browser:
function generatePassword(length = 20, charset = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*') {
const array = new Uint32Array(length);
crypto.getRandomValues(array);
return Array.from(array, n => charset[n % charset.length]).join('');
}
// Node.js:
const crypto = require('crypto');
function generatePassword(length = 20) {
const charset = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*';
return Array.from(crypto.randomBytes(length), byte =>
charset[byte % charset.length]
).join('');
}
Note: byte % charset.length introduces slight modulo bias for character sets not sized as powers of 2. For production systems, use rejection sampling to eliminate bias.
Password managers: the other half of the solution
A strong password doesn’t help if you reuse it across sites. If any site is breached and attackers get your password (even a strong one), they’ll try it on every other site you use.
Password managers solve both problems:
- Generate a unique strong password for every account
- Store them encrypted behind one master password
- Auto-fill on websites (also protects against phishing — it checks the domain before filling)
Recommended password managers:
- Bitwarden: Open source, free tier, excellent security record
- 1Password: Premium features, excellent UX, business options
- KeePass: Local storage only, most private, no subscription
- Dashlane: User-friendly, good dark web monitoring
The master password should be a passphrase — 4–6 random words (see passphrase generator). You need to remember this one; everything else can be random.
Checking if your password was breached
HaveIBeenPwned Passwords has 800+ million passwords from real breaches. It checks with k-anonymity (you send the first 5 characters of the hash, not the full password) so it’s safe to use.
If a “strong” password appears in breach databases, it’s because:
- You created it (not randomly generated)
- It appeared in a breach of a site you used it on (always use unique passwords)
Related tools
- Password Generator — generate cryptographically random passwords
- Password Strength Checker — how strength is measured
- Passphrase Generator — memorable alternative to random passwords
Related posts
- How Secure Is My Password? Entropy, Crack Times, and What Actually Matters — Password security measured in bits of entropy, real hashcat benchmarks on RTX 40…
- Brute Force Password Attacks — How They Work and How to Defend Against Them — Brute force attacks try every possible password combination. Learn how attackers…
- Diceware Passphrases — Stronger and More Memorable Than Passwords — Diceware generates memorable passphrases by rolling dice to select words from a …
- Passphrase Generator — Stronger and More Memorable Than Random Passwords — A passphrase is 4–5 random dictionary words strung together. It's easier to memo…
- Password Strength Checker — What Makes a Password Strong or Weak — Password strength is measured in entropy bits — the log₂ of possible combination…
Related tool
Generate strong random passwords with configurable length, character classes, and exclusions. Real entropy meter, crack-time estimate, bulk mode.
Written by Mian Ali Khalid. Part of the Encoding & Crypto pillar.