My mom tells me that at her workplace, they use Unix root passwords (or something called that, I only remember the word "Unix".)
These passwords have to be exactly 8 characters long, and must contain one of each of the following:
1. an uppercase letter
2. a lowercase letter
3. a number
4. a special character
So a password like "E==m*c^2" (Einstein's forumla in C++) would be valid, but a password like "abcdefgh" wouldn't.
Here's a very simple rating system that KDE uses to determine password strength:
1. Count how many uppercase letters there are (up to 4 are counted)
2. Count how many lowercase letters there are (up to 4 are counted)
3. Count how many numbers there are (up to 3 are counted)
4. Count how many special characters there are (up to 5 are counted)
5. Add these numbers up, and take a score out of 16. A score of 7 or 8 would take about 7 days to guess if the program cracking it tried at 40MHz (40,000,000 attempts per second).
Here's my own:
0. The score for any category is calculated with the following formula:
(<priority>) - (<priority>) / (<number of characters in category> + 1)1. Count how many uppercase letters there are. The priority for category 1 is 5. (26 chars total)
2. Count how many lowercase letters there are. The priority for category 2 is 5. (26 chars total)
3. Count how many numbers there are. The priority for category 3 is 3. (10 chars total)
4. Count how many keyboard-accessible special characters there are. The priority for category 4 is 7. (32 chars total)
5. Count how many other special characters there are. The priority for category 5 is 15. (129 chars total)
The password "E==m*c^2" would get a
base score of 12.933333333.
EDIT (2008-02-12 21:53:30): After this, the score is converted into a score out of 100. (I decided to do this to incorporate length into the score.)
The formula looks like this:100 - 100 * (0.90 ^ <length>) * (0.90 ^ <base score> - 0.025)So the final score for "E==m*c^2" would be 90.057142284048211935767242789242.
Reply