crypt ist wohl für alle Praktischen Zwecke sicher genug. crypt kann man nur mit brute-force knacken, md5 auch. Und wenn du mal soweit bist, daß jemand den Inhalt deiner Datenbank kriegt, hast du eh schon fast veroren.
md5 ist nicht zum verschlüsseln gedacht, sondern bildet Prüfsummen über Dateien. Wenn die Prüfsumme gleich ist, kannst du davon ausgehen, daß die Dateien gleich sind. Für md5 gibt es zB. bei Debian das Programm md5sum. Aber du kannst ja auch mal bei CPAN nach md5 suchen.
sub z{if(@_){1while$x[$k=rand 10];t($t=$x[$k]=1)}print map"$z[$x[$_]]$_".($_%3?
"":"\n"),1..9}sub t{$j=0;$x[$_+1]==$t&&($j+=2**$_)for 0..8;z,die"Gewinner $z[$t]
"if grep$_==($j&$_),7,56,73,84,146,273,292,448;z,die"Gleichstand\n"if@x>9&&!grep
!$_,@x}@x=4;@z=qw{. [ (};z$^T&1;while(<>){next if$_>9||$x[$_];t$t=$x[$_]=2;z 1}