Personally I don’t like generated passwords but a little while ago I found myself wondering how difficult it would be to write a short bit of ‘C’ to generate a random password made up of three-letter groups consisting of a consonant, a vowel, and a consonant, as this is supposed to produce sequences that are not completely unpronounceable, which makes them easier to remember (in theory anyway).
If you just want a random password there are arguably a number of better password generators available (including ‘apg‘,’pwgen‘, and ‘makepasswd‘) but I was interested in seeing if random passwords made up of three-letter groups were actually easier to pronounce and possibly remember (which is why I’ve left out some of the least common letters).
I also decided to include some common letter substitutions that can be used to ‘munge‘ passwords in order to them harder to guess and to allow the passwords to be any length by padding them with numbers (and possibly also special characters, though I’ve come across quite a few web sites where special characters actually cause problems when used in passwords).
Obviously the ‘randomness‘ of the passwords is important which is why I’ve used the ‘time()’ and ‘getpid()’ functions when seeding the random number generator, so the output of the program should be different every time it is run.
When written down the ‘munging’ of the password does make it quite hard to read, but I have to admit that I do find the three-letter groups quite easy to pronounce. However, I’m still not convinced that the resulting passwords are any easier to remember than other computer generated passwords!