How to Create a Memorable Password That's Actually Secure
Table of Contents:
- Why Complex Passwords Fail
- The XKCD Method Explained
- The Math Behind Passphrases
- How to Generate a Secure Passphrase
- When to Use Passphrases vs Password Managers
- FAQ
I spent ten years telling clients to use complex passwords. Uppercase, lowercase, numbers, symbols. Make it look like keyboard vomit.
I was wrong.
The password "Tr0ub4d0r&3" looks secure. It checks every box on those annoying requirement lists. It's also crackable in about three days.
Meanwhile, "caught-slim-legal-matrix" would take mass computing power longer than the universe has existed to crack.
One is impossible to remember. One is easy. Guess which one the security industry pushed for two decades?
Why Complex Passwords Fail
Here's what happens in the real world.
Your IT department says: "Password must contain uppercase, lowercase, number, and symbol."
You think: "Okay, I'll take a word I can remember, capitalize the first letter, swap some letters for numbers, and add a symbol at the end."
You create: Summer2024!
Congratulations. You just created the exact pattern that password cracking software tries first.
The problem isn't you. The problem is that humans are predictable. We capitalize the first letter. We swap 'a' for '4' and 'o' for '0'. We add '!' or '1' at the end. We use seasons, years, pet names, and birthdays.
Hackers know this. Their software knows this. They don't try random combinations. They try human patterns first.
And they crack most "complex" passwords in minutes.
The XKCD Method Explained
In 2011, a webcomic changed how security experts think about passwords.
Randall Munroe published XKCD #936, and the core idea was simple:
- A password like "Tr0ub4d0r&3" has about 28 bits of entropy. It's hard for humans to remember and easy for computers to guess because it follows predictable patterns.
- A passphrase like "correct horse battery staple" has about 44 bits of entropy. It's easy for humans to remember and hard for computers to guess because four random words create a massive search space.
The insight that changed everything: length beats complexity.
When you pick four truly random words from a large dictionary, you're not creating a pattern. You're creating chaos that happens to be memorable.
Your brain can picture a horse with a battery staple. It cannot picture "Tr0ub4d0r&3" without writing it on a sticky note.
The Math Behind Passphrases
Let me show you why this works.
Traditional 8-character password:
Using uppercase, lowercase, numbers, and symbols gives you about 95 possible characters per position. That's 95^8 = 6.6 quadrillion combinations.
Sounds like a lot. But modern GPUs can test billions of combinations per second. And humans don't pick randomly from 95 characters. They pick patterns. The actual search space collapses to something much smaller.
4-word passphrase using Diceware:
The standard Diceware word list has 7,776 words. Four random words gives you 7776^4 = 3.7 quadrillion combinations.
Roughly equivalent raw numbers. But here's the difference: when the words are truly random, there are no patterns to exploit. The full search space remains intact.
And you can actually remember "caught-slim-legal-matrix" because your brain turns it into a weird little story.
The entropy breakdown:
- Each Diceware word: ~12.9 bits of entropy
- 4 words: ~51.6 bits (secure against online attacks)
- 5 words: ~64.5 bits (secure against most offline attacks)
- 6 words: ~77.4 bits (recommended by the EFF)
For comparison, a truly random 8-character password using all character types has about 52 bits of entropy. But humans don't create truly random passwords. Passphrases sidestep that problem entirely.
How to Generate a Secure Passphrase
You have two options.
Option 1: Use dice (the paranoid way)
The original Diceware method uses physical dice. Roll five dice, look up the combination in the word list, repeat four to six times. This guarantees true randomness because dice don't have software vulnerabilities.
I respect people who do this. I don't do this. It takes forever.
Option 2: Use a cryptographically secure generator
This is what most people should do. But here's the catch: not all generators are created equal.
Many passphrase generators use Math.random() under the hood. That function was designed for video games and simulations, not security. It's predictable. I wrote about why that's dangerous.
A secure generator uses crypto.getRandomValues(), which pulls from your operating system's entropy pool. Mouse movements, keystroke timing, hardware noise. Actual randomness.
I built a Memorable Password Generator that does this correctly. It uses the standard 7,776-word Diceware list, runs entirely in your browser (nothing sent to any server), and shows you the entropy math in real time so you can see exactly how secure your passphrase is.
But don't take my word for it. Right-click any generator, view the source, and search for "Math.random". If you find it in the password logic, close the tab.
When to Use Passphrases vs Password Managers
Here's where I'll be direct with you.
Use a passphrase for:
- Your password manager's master password
- Your computer login
- Your phone unlock (if it allows passphrases)
- Any password you need to type frequently from memory
Use a password manager for everything else.
You have 50+ accounts. Netflix, Amazon, your bank, that forum you signed up for in 2019 and forgot about. You're not going to memorize 50 passphrases. Nobody is. And you shouldn't reuse passphrases across sites.
The system that works: one strong passphrase for your password manager, random generated passwords for everything else.
I partnered with RoboForm because this is exactly how security should work. Generate your master password with my tool. Let RoboForm handle the other 49.
Common Mistakes to Avoid
Don't pick the words yourself.
If you choose "correct horse battery staple" because you saw it in a comic, that's not random. Millions of other people saw the same comic. Use a generator.
Don't use song lyrics, quotes, or phrases.
"To be or not to be" feels random. It's not. Hackers have databases of common phrases. True randomness means words that have no relationship to each other.
Don't use fewer than four words.
Three words from a 7,776-word list gives you about 38 bits of entropy. That's getting into crackable territory for determined attackers with resources.
Don't skip the password manager.
A passphrase solves the memorability problem for one password. It doesn't solve the reuse problem. You need both tools.
FAQ
Is a passphrase more secure than a complex password?
Yes, when generated correctly. A 4-word passphrase from a 7,776-word list provides approximately 51.6 bits of entropy. A typical human-created "complex" password provides far less because humans follow predictable patterns. Length beats complexity.
How many words should my passphrase have?
Four words minimum for most use cases (~51.6 bits). Five words for sensitive accounts (~64.5 bits). Six or more words for high-security needs like cryptocurrency wallets (~77+ bits). The EFF recommends six words as their standard.
Can I add numbers or symbols to my passphrase?
You can, but it's usually unnecessary. Adding a random number between words increases entropy slightly. Adding symbols can make the passphrase harder to type without significant security benefit. Length (more words) is more effective than complexity.
What is Diceware?
Diceware is a method for generating passphrases using dice and a word list. Created in 1995, it uses a list of 7,776 words, each corresponding to a five-dice roll. This ensures true randomness without relying on software. Modern passphrase generators use the same word lists with cryptographically secure random number generators.
Is "correct horse battery staple" a good password?
No. It was a good example. Now it's in every password cracking dictionary. Never use example passphrases from articles, comics, or tutorials. Always generate your own random combination.
Should I use spaces between words?
Personal preference. Spaces, hyphens, or no separator all work. Some systems don't allow spaces in passwords. Hyphens are the most universally accepted separator. The security difference is minimal.