Here's one I wrote in
PERL that generates easy to remember but still strong passwords.
It grabs three letter words from the UNIX file /usr/dict/words, combines them, mixes case and adds random characters in between the two words. That way they are simple, easy to remember and meet
most password requirements on a Solaris system (must contain mix of characters, etc.)
Add salt to taste :)
#!/usr/local/bin/perl
#
END { print "\n"; }
srand( time + $$ );
@chars = qw ( ! @ # $ % ^ & * ( ) - = , . & < > ' : ;
1 2 3 4 5 6 7 8 9 0 );
open( A, "/usr/dict/words" ) or die;
foreach( <A> ) {
chomp;
push @words, $_ if( /^[a-z]{3}$/i );
}
if( ! $ok ) {
$word1 = $words[rand($#words)];
$word2 = $words[rand($#words)];
$char1 = $chars[rand($#chars)];
$char2 = $chars[rand($#chars)];
$ok++ if( ( $word1 ne $word2 ) && ( $char1 ne $char2 ) );
}
$tmp = $word1 . $char1 . $word2 . $char2;
@foo = split //, ( $word1 . $char1 . $word2 . $char2 );
for( $i = 0; $i < 3; $i++ ) {
my $i = rand($#foo);
$foo[$i] = uc $foo[$i];
}
foreach( @foo ) { print }