http://qs321.pair.com?node_id=570895


in reply to Autogenerating usernames

The problem is that you want people to be able to remember your passwords, yet you don't want the passwords to be easily guessed. The solution is obvious - create English-sounding words that aren't really words. But how do you do this? Get a large dictionary file of words and do a frequency check on letter combinations. The first and second letters are random (to the extent that only combinations used in words are allowed), but from then on you weight your choices based on the frequency of 3-letter combinations that start with the most recent two letters. Keep going until you reach the desired length, then check to see if your word is in the dictionary. If it is, start over.

Another possibility is to pick a dictionary word or words, but change one or two letters.