====== Passwortgenerator ======
Um eine Verwechselungsgefahr zu vermeiden sollten folgende Buchstaben und Zahlen in Passwörtern vermieden werden:
* Die Zahl „0“: Kann mit dem großen Buchstaben „O“ (wie Otto) verwechselt werden
* Die Zahl „1“: Kann mit dem großen Buchstaben „I“ (wie Ida) verwechselt werden
* Großer Buchstabe „O“ (wie Otto): Kann mit der Zahl „0“ verwechselt werden
* Großer Buchstabe „I“ (wie Ida): Kann mit der Zahl „1“ verwechselt werden
* Kleiner Buchstabe „l“ (wie ludwig): Kann mit dem großen Buchstaben „I“ oder mit der Zahl „1“ verwechselt 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 |
===== PHP-Funktion =====
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;
}
===== Funktionsaufruf =====
$Passwort = pwgen();
echo $Passwort; // Beispiel-Ergebnis: Tubel579