"Add a number and a symbol" is the advice everyone has heard. Taken alone, it's wrong in a way that matters: an 8-character password using every symbol on the keyboard falls to a modern cracking rig in about two hours, while sixteen plain lowercase letters would take millennia. Strength isn't punctuation — it's counting. Here's the arithmetic, honest cracking-time tables, and what NIST says now that it has retired most of the old rules.
The measure is entropy: the number of possible passwords a scheme can produce, expressed in bits. For a random password it's length × log2(alphabet size). The full printable ASCII set has about 95 characters, and log2(95) ≈ 6.57, so each random character contributes 6.57 bits — a 12-character random password carries 12 × 6.57 ≈ 78.8 bits.
Every bit doubles the work — an attacker who could exhaust a 60-bit space over a weekend needs about a billion times longer for 90 bits. That compounding is why length is the whole game, and why you can generate a strong password in a browser tab.
One caveat: entropy describes the generation process, not the string. P@ssw0rd!2024 passes every composition rule ever written and carries almost no real strength, because attackers guess human patterns first. The math below assumes actual randomness.
Cracking time is combinations divided by guess speed, and guess speed depends on how the password was stored. A leaked database of unsalted MD5 or SHA-1 hashes feeds a GPU rig that tests on the order of a trillion guesses per second. A site that did its job — salted bcrypt, scrypt, or Argon2 — slows the same hardware to roughly ten thousand guesses per second.
| Password | Combinations | Fast hash (1T guesses/s) | Slow salted hash (~10K guesses/s) |
|---|---|---|---|
| 8 characters, lowercase | 2.1 × 1011 | under a second | ~8 months |
| 8 characters, full ASCII | 6.6 × 1015 | ~2 hours | ~21,000 years |
| 10 characters, full ASCII | 6.0 × 1019 | ~1.9 years | ~190 million years |
| 12 characters, full ASCII | 5.4 × 1023 | ~17,000 years | ~1.7 trillion years |
| 16 characters, full ASCII | 4.4 × 1031 | ~1.4 trillion years | not in this universe's lifetime |
| 5-word passphrase (Diceware) | 2.8 × 1019 | ~11 months | ~90 million years |
Two footnotes keep this honest: the times are to exhaust the whole space (an average crack lands halfway, so halve them), and both speeds are moving targets. The gap between the columns is the argument for caring where you reuse a password, not just what it is.
Because complexity grows the alphabet but length grows the exponent. Sixteen lowercase letters carry 16 × 4.70 ≈ 75.2 bits. Eight characters drawn from all 95 printable ones carry 52.6 bits. The lowercase string is stronger by a factor of more than six million, and you can type it without hunting for the percent sign.
The famous xkcd comic nailed this years ago: Tr0ub4dor&3 looks formidable and scores about 28 bits once you account for how humans actually substitute characters, while four random common words score around 44 bits and stick in your head. Substitution patterns — a for 4, e for 3, capital first letter, exclamation point at the end — are the first things cracking dictionaries try, because everyone does them.
NIST came around to the same view in SP 800-63B and doubled down in its 2024 revision: prioritize length, allow at least 64 characters, drop the composition rules, and screen new passwords against known-breach lists instead. The rules your bank still enforces are mostly a 2003 legacy the guideline's original author has publicly disowned.
Usually, yes — with the same caveat about randomness. Five words chosen by dice from the standard 7,776-word Diceware list carry 5 × log2(7,776) ≈ 64.6 bits, comparable to a 10-character fully random password, and unlike the random string you can hold them in your head for a week. Four words (~51.7 bits) is fine for ordinary accounts; six (77.5 bits) for the few that really matter.
The failure mode is choosing the words yourself. Song lyrics, movie quotes, and famous four-word phrases are in every cracking dictionary. The words need to come from dice throws or a generator, not from your affection for a horse.
Because breaches are industrial now, and the attacker's second move is automation. When a site leaks email/password pairs, those pairs get replayed against banking, email, and social logins everywhere — credential stuffing, and it works precisely because people reuse. Have I Been Pwned has catalogued these leaks for over a decade; if an account of yours shows up there, that password is public and must be retired everywhere you used it. Uniqueness turns a catastrophe into an inconvenience: one leaked password burns one account, full stop.
This is also the practical case for a password manager. You can't remember fifty random 16-character strings, and you shouldn't try — the manager remembers, and you memorize the one long master passphrase protecting it. For the defending side of the picture, our guide to keyed hashes covers how services verify passwords and sign webhooks, and our identity-theft-protection walkthrough covers the cleanup after the worst case.
No — current NIST guidance says the opposite. Forced rotation pushes people toward predictable patterns (Spring2024!, Summer2024!) and minimal edits of the old password, which crackers model explicitly. Change a password when there's evidence of compromise: it appears in a breach dump, you got phished, or the service reports an incident.
The rule that replaced rotation is screening: check new passwords against lists of known-breached credentials and reject the ones that have already leaked. That does more for real security than any expiry calendar ever did.
Cryptographically random, up to 128 characters, batch mode for onboarding the whole password manager vault — and it never leaves your browser.
Password Generator →A strong password is long, random, and used exactly once. The symbols are garnish. Sixteen characters or five dice words put you past anything that guesses for a living, and 2FA covers the attacks that never ask for your password.
A 12-character random password using the full printable ASCII set carries about 78.8 bits of entropy — roughly 17,000 years to exhaust on a rig testing a trillion guesses per second, and effectively uncrackable against salted slow hashes. NIST suggests a minimum of 8 characters and recommends 15 or more, so 12 random characters is comfortably strong. The catch is random: 12 characters of a human pattern is a different animal.
Yes — for most people they're strictly safer than reusing variations of one memorized password. A manager protects one vault with one long master password and ideally two-factor authentication, instead of you protecting fifty accounts with fifty weak ones. Major commercial managers use zero-knowledge encryption, so even a breach of their servers exposes encrypted vaults, not plaintext.
All of them. Lowercase alone gives 26 options per character; the full printable ASCII set gives about 95, worth 6.57 bits per character versus 4.7. Symbols and capitals help, but they matter far less than adding characters: sixteen lowercase letters (75.2 bits) beat eight characters of everything (52.6 bits) by a factor of more than six million.
Yes, through paths that ignore its strength: phishing, keyloggers, a breach of the site's servers, or a weak reset process. Strong random passwords defend against exactly one attack — offline guessing — but it's the most common industrial-scale attack, so they still matter. Two-factor authentication covers the paths a password can't.