← Privacy & toolscomplexity rules make weaker passwords, not stronger ones

complexity rules make weaker passwords, not stronger ones

$echo -n 'P@ssw0rd!' | wc -c; echo -n 'correct horse battery staple' | wc -c

complexity rules make weaker passwords, not stronger ones

every login page still does it. "your password must contain an uppercase letter, a number, and a special character." feels secure right. it's not. that rule is why half the internet is using "P@ssw0rd1!" and reusing it everywhere. let's look at the actual math instead of the vibes.

echo -n 'P@ssw0rd!' | wc -c; echo -n 'correct horse battery staple' | wc -c

this just counts characters. echo -n prints the string without a trailing newline, and wc -c counts bytes. run it and you get 9 for the "complex" password and 29 for the passphrase. length is the cheapest, most direct way to increase entropy, and complexity rules actively fight against it.

why length beats symbols

entropy is just "how many guesses would an attacker need." every character position in a password adds possibilities based on the size of the character set, and every additional character multiplies that. a lowercase-only password has a small pool per character (26), but a longer password has way more positions to fill. length wins because it compounds. "P@ssw0rd!" has a bigger pool per character but only 9 slots. "correct horse battery staple" has a smaller pool per character but 29 slots. run the numbers and the passphrase crushes it, even though it looks "simple."

attackers aren't guessing your password by staring at a screen. they're running offline cracking tools against a stolen hash, trying billions of combinations a second. length is the thing that actually slows that down, not a random exclamation point at the end.

why complexity rules backfire

here's the part that annoys defenders the most: forcing uppercase, numbers, and symbols pushes humans toward predictable patterns. capital letter at the start. number and symbol at the end. "!" or "1" because that's what satisfies the rule with the least effort. attackers know this. password cracking wordlists and mutation rules are literally built around these habits, capitalize first letter, append "1!", swap "a" for "@". you're not adding randomness, you're adding a pattern that's already in every cracking toolkit.

meanwhile the rule also pushes people to reuse the same "compliant" password everywhere because remembering a new bafflegab string for every site is miserable. reuse is the actual disaster. one breached site leaks your password, and now it's tried against your email, your bank, your work login. length and uniqueness protect you. complexity rules just make you tired.

what actually makes a strong password

length first. aim for 16+ characters minimum for anything that matters, more if the service allows it. passphrases work great because they're easy to remember and naturally long: four or five random unrelated words. randomness matters too, not "iloveyoumypuppy2024" (guessable from context), but genuinely random word combos or generated strings. and uniqueness, every account gets its own password, no exceptions.

the honest fix is a password manager. it generates long random passwords per site, stores them encrypted, and you only remember one strong master passphrase to unlock the vault. that solves the "but i can't remember 40 unique passwords" problem completely.

how to check your own exposure

audit what you've got instead of guessing. most password managers have a built in security check that flags weak, reused, and old passwords.

walkthrough for a self-check, no special tools needed:
1. open your password manager's security dashboard (bitwarden, 1password, etc all have one)
2. sort by "reused" and start rotating those first, reuse is the highest risk item
3. sort by "weak" or short length and replace with generated 16+ character strings
4. turn on breach monitoring (haveibeenpwned integration or similar) so you get alerted if a site you use gets popped

also check any account where you're still using a "compliant but short" password from years ago, admin panels, router logins, old email accounts. those are usually the ones nobody rotates.

the takeaway

complexity rules feel like security theater because they are. length and uniqueness are what actually raise the cost of cracking or reusing a stolen password. ditch the mental gymnastics of remembering "Tr0ub4dor&3", get a password manager, generate long random passwords per site, and turn on breach alerts. that's the whole defense, and it's less annoying than what most sites are forcing on you right now.

watch the reel ↗
the weekly drop

one command a week that makes you harder to hack.

a single tool, explained in plain english, every week. straight to your inbox.

no spam. one email a week. unsubscribe anytime.