Considering the ease with which "correcthorsebatterystaple" type passwords can be cracked, I hope Randall Munroe updates that page and recommends people use a password manager.
> Even a GPU cluster from December 2012 could, depending on the cryptographic hashing algorithm used to protect plain-text passwords, cycle through 350 billion guesses per second. Referring to that project, Reinhold wrote, "They claim they can crack a random 8-character password in under six hours. At that speed, attacking a 5-word Diceware passphrase would take on average of 7,300 hours or 10 months to find the correct passphrase, assuming they knew you were using Diceware and developed equally efficient software designed to try only valid Diceware words."
> Further, he noted that "Criminal gangs have built botnets from thousands of computers infected with their malware. Marshaling large numbers of these computers they control might allow them to crack a five word passphrase in a reasonable amount of time." (Gosney's 25-GPU cluster attacked the NTLM cryptographic algorithm that Microsoft has included in every version of Windows since Server 2003. It's known to be much more vulnerable to cracking than other algorithms. Gosney's machine wouldn't perform as fast against PBKDF2, for instance.)
[...]
> UPDATE: In a followup e-mail to Ars, Gosney noted that "The figures are based on a brute-force attack that targets a single hash. Due to the nature of GPU computing, attacks that combined multiple words are potentially much slower." At the moment, "Since there are no tools that currently combine three or more words, we don't really know for sure how much slower it would be."
"I agree that XKCD's password strength cartoon of four random words is sound but only for non-fast hashing algorithms like bcrypt"
Nobody competent will use md5 and no hash to store password. And even if you are not competent, most frameworks providing auth will have sane default today.
So "correcthorsebatterystaple" is still a very good practice:
- if the auth is correctly implemented, it's still the best ratio for price/safety.
- if the auth is not, you are fucked in so many ways that you password size is the least of your concern.
Only if you're limiting your words to those in a small dictionary - or regenerating until they're "common" words, which is the same thing (fwiw, "staple" isn't in the Google list of top 10,000 English words that they're using).