Patrick Leuppert
Neues Mitglied
Man findet im Internet ja viele Funktionen um ein Passwort zu generieren.
Mir hat ein einfacher Passwort-Generator jedoch nicht gereicht, denn ich benutze die Funktion nicht nur für Passwörter, sondern auch für Codes (z.B. Aktivierung). Außerdem will ich bei den Passwörtern vermeiden, dass gleich aussehende Buchstaben in einem generierten Passwort vorkommen.
Die folgende Funktion stelle ich allen zur Verfügung, die Verwendung dafür haben.
Die erfahrenen Programmierer werden das Prinzip verstehen. Für alle anderen hier eine kurze Erklärung:
Die Funktion hat 3 Parameter.
$length, $security und $not2use
$length ist die Länge des zurückgegeben String oder der Zahl (je nach Sicherheitsstufe)
$security ist die zuvor genannte Sicherheitsstufe.
Die Funktion kann gerne auch in die PHP FAQ hier im Forum eingefügt werden.
Liebe Grüße
Patrick
Mir hat ein einfacher Passwort-Generator jedoch nicht gereicht, denn ich benutze die Funktion nicht nur für Passwörter, sondern auch für Codes (z.B. Aktivierung). Außerdem will ich bei den Passwörtern vermeiden, dass gleich aussehende Buchstaben in einem generierten Passwort vorkommen.
Die folgende Funktion stelle ich allen zur Verfügung, die Verwendung dafür haben.
PHP:
function getRandom($length=10,$security=3,$not2use="") {
$disabled_chars = explode(',', $not2use);
$rnd_string='';
if($security > 3 || $security < 1)
{
$security = 3;
}
for ($i=1;$i<=$length;$i++) {
$chr='';
switch (mt_rand(1,$security)) {
case 1:
// 0-9
$chr=chr(mt_rand(48,57));
break;
case 2:
// a-z
$chr=chr(mt_rand(97,122));
break;
case 3:
// A-Z
$chr=chr(mt_rand(65,90));
}
if(in_array($chr, $disabled_chars)){
$i--;
} else {
$rnd_string.=$chr;
}
}
return $rnd_string;
}
Die Funktion hat 3 Parameter.
$length, $security und $not2use
$length ist die Länge des zurückgegeben String oder der Zahl (je nach Sicherheitsstufe)
$security ist die zuvor genannte Sicherheitsstufe.
- 1 sind nur Zahlen von 0-9
- 2 sind Zahlen von 0-9 und alle Kleinbuchstaben von a-z
- 3 sind Zahlen von 0-9, alle Kleinbuchstaben von a-z und alle Großbuchstaben von A-Z
Die Funktion kann gerne auch in die PHP FAQ hier im Forum eingefügt werden.
Liebe Grüße
Patrick