Michael Schröpl: Alle möglichen Kombinationen erstellen???

Beitrag lesen

Das einzige was ich da nicht ganz verstehe, ist wie ich Perl nun sage, dass es alle möglichen Kombinationen ausprobieren soll (und sich natürlich nicht wiederholen darf)
Jemand Ahnung auf diesem Gebiet?

Beginne damit, das Problem in der Komplexität zu reduzieren: Generiere erst mal alle Passworte einer festen Länge.

(Keine Garantie für korrekte Syntax -

Hauptsache, der Algorithmus stimmt in etwa)

my @password;

my $chars = <Zeichenkette aller erlaubten Zeichen>;

sub try ($)
{
  # Parameter übernehmen
  my $level = $_;

# n-tes Zeichen durchprobieren
  for (my $i=0; $i < len($chars; $t++)
      {
        # setze nächstes Zeichen in Passwort
        @password[$level] = substr ($chars, $i, 1);
        # Rekursion
        if ($level < $maxlen)
           { try ($level+1) }
        else
           { # crypt aufrufen und ... tun }
      }
}

for (my $i=1; $i < $maxlen; $i++)
    {
      # Probiere alle Passworte genau dieser Länge
      try ($i);
    }