in reply to Re: quick and dirty cryptogram puzzle
in thread quick and dirty cryptogram puzzle
sub gen_random_key{ ####sub fisher_yates_shuffle { my @array = split ("", $alpha); my @alpha = @array; for (my $i = @array; --$i; ) { my $j = int rand ($i+1); next if $i == $j; @array[$i, $j] = @array[$j, $i]; } for (0..$#alpha){ $decrypt{$alpha[$_]} = $array[$_]; $encrypt{$array[$_]} = $alpha[$_]; } #ensure a derangement for (0..$#alpha){ if ($alpha[$_] eq $array[$_]) { gen_random_key(); #warn 'key not deranged, setting another..'; return; } } }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: quick and dirty cryptogram puzzle
by runrig (Abbot) on Jan 02, 2008 at 18:09 UTC |