Generate a passphrase or test your password's strength (these are not stored or transmitted):
Approximate crack-time: No of characters:
This passphrase generator was built based on the NIST Special Publication 800-63B guidelines, especially: Appendix a - Strength of Memorized Secrets (NIST, 2017). This generator hopes to aspire people and organizations alike to switch to memorable passphrases to increase password security and reduce password fatigue.
Disclaimer: This site is not officially endorsed by or does not have any affiliation with NIST.
By default, four-word lowercase passphrases are generated because they are secure and memorable. But most password policies require the inclusion of LUDS (Lowercase and Uppercase letters, Digits and Symbols). In which case, selecting 'Sentence case' and ticking 'Digits' and then generating passphrases would satisfy the requirements (since spaces are symbols as well).
The approximate crack time is based on the assumption of an offline attack which involves multiple attackers, proper user-unique salting and a slow hash function with moderate work factor, such as bcrypt, scrypt or PBKDF2 and assumes 10,000 guesses per second. Namely, it uses 'offline_slow_hashing_1e4_per_second' of zxcvbn. If you want to know more about the usage, check out the official zxcvbn usage documentation.
Because most of us are terrible at creating secure passwords and the complex password policies that are supposed to make passwords more secure tend to do more harm than good. The xkcd comic got it right: we have been trained to use hard-to-remember passwords that are easy for computers to guess.
Random because it makes it harder to guess. Try as we might, humans usually end up using a few predictable patterns when creating passwords. We base them on things we can remember, such as names, locations, dates or just common English words. Then, we add some spice with a capital letter, some numbers or a symbol.
Here are some bad password patterns:
Bad Password Patterns | Is It Memorable? | Time To Crack |
---|---|---|
Names (example: Batman ) |
Yep. | 8 milliseconds |
An easily-typed spatial word (example: aaaaaaaa ) |
Yep. | 9 milliseconds |
A common word (example: common ) |
Yep. | 34 milliseconds |
A word with trivial letter→number substitutions (example: k4mik4ze ) |
Kind of, but you may forget which letters are substituted for numbers. | 388 milliseconds |
An important number, such as a birth of date or zip code (example: 09/11/2001 ) |
Totally. | 2 seconds |
If your password resembles any of these examples, it is instantly crackable. Even a mix of these patterns, such as [common word]+[number]
will be straightforward to crack.
Compare those to a passphrase:
Password Pattern | Is It Memorable? | Time To Crack |
---|---|---|
Four or more randomly chosen words (example: aldus premiums market causes ) |
Type it a few times, and you'll have it committed to memory. | 32,286,015 centuries. |
"Secrets that are randomly chosen (in most cases by the verifier or CSP) and are uniformly distributed will be more difficult to guess or brute-force attack than user-chosen secrets meeting the same length and complexity requirements." - NIST, 2017.
Because random passphrases provide the best combination of memorability and security.
For example, here is a random password and a random passphrase with similar crackability:
Password/Passphrase | Time to crack |
---|---|
4Yw_IpX^[]{Q1 /Awq} |
Approximately 317,097 centuries |
refuses fez involve manuals |
Approximately 292,719 centuries |
Which would you rather remember?
There are several methods to crack passwords:
passphrase
→ Passphrase
), making common letter-for-number swaps (passphrase
→ p4ssphr4se
) and can range from other simple to complex rules.a
, then b
, then c
, ... eventually 920ECF10
, 920ECF11
and so on.
Thing is hackers don't need to 'crack' your passwords. More often they might use one of these methods to find out your passwords.
Depending on how well-protected a website keeps your password, modern computers can make somewhere between 10,000 and 350 billion guesses per second.
Your best defence is using a truly random passphrase generator (like this site).
No security measure is 100% foolproof, but these are as good as they get.
sullivan shows attacks dam
comedy pact belongs wordstar
thanks removed trick lawsuits
handled rains latter once
wang gunfire latest hampered
And so on.
No matter how memorable these passphrases are, ultimately you won't be able to remember all of them. Which is why eventually you would have to resort to password managers/SSO. Most browsers have built in password managers but these are not recommended due to their vulnerabilities. LastPass, Dashlane and Roboform are some of the most popular password managers among others and while they can be mostly reliable, they are susceptible to attacks as well as witnessed in the past.
This is when a passphrase would be especially useful.
You know like,
Firstly, because it it makes zero external calls. Check your browser's network tab to verify. The passphrases are all generated by code contained in this page and they are never stored or transmitted.
Secondly, this page is designed to run entirely offline: save this page to your hard drive (or right click and click 'Save as'), disconnect from the internet and open it in a browser. This way, you can be assured regarding the security of the website.
While the passphrases generated are secure, the same cannot be said for whatever you type into the box purely based on what the approximate crack time displayed is. Why? Because no personal/corporate info or preferences are considered in the estimation and most of the names/words considered in the estimation are only English.
For example, my name is Mahesan Thanursan. The approximate crack time for my name is 292 centuries. But I would never use it as my password since obviously it's my name and any skilled hacker would definitely try that as a password. Which is why your best bet is sticking with random passphrases.