This exercise is one that I originally wrote for my company's intranet. It's a password generator. Normally it loops through /usr/dict/words, but since this server doesn't provide me read access to that file (and for performance reasons on a shared server), I have used a shorter list. It provides several "levels" of strength, each a little more complex than the last.
The source for this generator can be found online, but it can be pared down significantly if you don't need all the cypher levels: pwgen.phps.We recommend you choose a password with AT LEAST "simple" cypher strength.
|None||sprinkle||Long word, lowercase|
|Simple||sPrInkle||Two or fewer caps|
|Strong||5PRInkLe||Caps and l33t-speak 1|
|Insane||5PRInk|_3||Caps and l33t-speak 2|
|------- Simple Functions --------|
|rotate 13||fcevaxyr||Letters rotated 13 characters|
|Indexing 110 words|