print "Wort:"; $pw=; chomp($pw); $la=length($pw); # Länge des Wortes $cos1=0; # Teil die Buchstaben der Eingabe in einzelne Strings auf. while($cos1<$la){ $ter1 = substr ($pw,$cos1,1); push(@db1,$ter1); $cos1++; } # $res=$la*36; $res2=$res/33; $ra = 36/$res2; # $trash='gt9uysf4d6pw2m1aqhcj0xv73bkliorn5ez8'; $co3=0; $feng=$la*26; while($co3<=$feng){ # Erzeugt (26*Wortlänge) Anzahl verschiedener schrott-code. $tr=$trash; $tr2=$trash; $subs= substr($tr2,-$co3,$co3); substr($tr,0,0)=$subs; substr($tr,-$co3,$co3)=''; $co3++; push(@trash,"$tr$tr$tr"); } # if ($la & 1){$ge='-'} # guckt ob das wort gerade/ungerade ist @ar= a..z; @arg= A..Z; while($qet5<$la){ # für diese schleife solange durch wie das Wort lang ist. $var=0; while($var<26){ $tq=@trash[$zj]; if(@db1[$qet5]=@ar[$var]){# Untersucht jeden Buchstaben ob er nun a,b,c etc ist und gibt jedem einen anderen trashcode. $tn=$ge.($var+$la); $subs= substr($tq,$tn,$ra); # nimmt soviel von dem trash code dass der hash am Ende 33 zeichen ergibt, und ersetzt die buchstaben des wortes. print "$subs\n"; substr(@db1[$qet5],0,$ra)=$subs; } if(@db1[$qet5]=@arg[$var]){ # Macht das selbe mit Grossbuchstaben $tn2=$ge.($var+$la+1); $subs= substr($tq,$tn2,$ra); substr(@db1[$qet5],0,$ra)=$subs; } $zj++; # nimmt einen neuen trash-code. $var++; # geht zum nächsten buchstaben des alphabets. } $qet5++; #geht zum nächsten buchstaben des wortes. } print "@db1";