Um eine Verwechselungsgefahr zu vermeiden sollten folgende Buchstaben und Zahlen in Passwörtern vermieden werden:
Dieser PHP-Passwortgenerator erstellt ein 8stelliges, aussprechbares Passwort nach folgendem Schema:
Position | Beschreibung | Beispiel |
---|---|---|
1 | Großer Konsonant | T |
2 | kleiner Vokal | u |
3 | kleiner Konsonant | b |
4 | kleiner Vokal | e |
5 | kleiner Vokal | l |
6-8 | dreistellige Zahl zwischen 100 und 999 | 579 |
public function pwgen() // Zufallspasswort generieren { $Kleinbuchstaben = array(); for( $i=97; $i<=122; $i++ ) // Alle Kleinbuchstaben von A bis Z { if( $i === 108 ) //Kleinbuchstaben "l" ausschliessen { continue; } $Kleinbuchstaben[] = chr( $i ); } $Vokale = array( "a", "e", "i", "o", "u" ); $Konsonanten = array_diff( $Kleinbuchstaben, $Vokale ); // Vokale von Kleinbuchstaben extrahieren $Konsonanten = array_values( $Konsonanten ); // Index neu durchnummerieren (Lücken entfernen) $grosseKonsonanten = strtoupper( implode( $Konsonanten ) ); $Zahl = mt_rand( 0, 20 ); // Zufallszahl zwischen 0 und 20 $pw = substr( $grosseKonsonanten, $Zahl, 1 ); // einen großen Konsonanten bestimmen for( $i=0; $i<2; $i++ ) // zwei mal zwei Buchstaben generieren { $Zahl = mt_rand( 0, 4 ); // Zufallszahl zwischen 0 und 4 $pw .= $Vokale[$Zahl]; // kleinen Vokal zum Passwort hinzufügen $Zahl = mt_rand( 0, 20); // Zufallszahl zwischen 0 und 20 $pw .= $Konsonanten[$Zahl]; // kleinen Konsonanten zum Passwort hinzufügen } $pw .= mt_rand( 100,999 ); // dreistellige Zufallszahl zum Passwort hinzufügen return $pw; }
$Passwort = pwgen(); echo $Passwort; // Beispiel-Ergebnis: Tubel579