Ein Zufallspasswort, das Wörterbuchangriffe verhindert, lässt sich leicht mit einem Codeschnipsel in PHP erzeugen. Man schreibt alle Zeichen, die Teil des Passworts sein dürfen, in eine Zeichenkette und ruft dann so oft die PHP-Zufallsfunktion rand() auf, bis man die gewünschte Länge des Passwortes erreicht hat.
Mit jedem der Aufrufe wird eines der Zeichen aus dem String in die zu Beginn leere Passwort-Variable eingetragen, deshalb können auch Zeichen mehrfach vorkommen.
Hier der PHP-Code dazu:
<?php
function erzeugeZufallsPasswort() {
$chars = „abcdefghijkmnopqrstuvwxyz023456789″;
srand((double)microtime()*1000000);
$i = 0;
$passwort = “;
while ($i <= 8) {
$num = rand() % 33;
$tmp = substr($chars, $num, 1);
$passwort = $passwort . $tmp;
$i++;
}
return $passwort;
}
// Benutzung:
// $NeuesPasswort = erzeugeZufallsPasswort();
?>
Dieses Codebeispiel soll nur ein Muster sein und kann deutlich verbessert werden. Es sollten zum Beispiel Großbuchstaben und Sonderzeichen in den Quellstring aufgenommen werden und dann die Obergrenze des Ergebnisses des Aufrufs der Zufallsfunktion dann von 33 auf die neue Länge des Strings angepasst werden – sonst werden die hinzugefügten Zeichen nie „gezogen“.
Wer es noch besser machen will, sorgt dafür, dass von jeder Zeichensorte (Klein- und Großbuchstaben, Ziffern und Sonderzeichen mindestens eins vorkommen muss…