PHP: Zufallsstring oder Zufallspasswort erstellen
Frage von SimplyMe | Letztes Update am 19.11.2022 | Erstellt am 19.11.2011
Ich möchte mit PHP einen zufälligen String erstellen, dass dann als Erstpasswort verwendet werden soll. Also das was man üblicherweise nach einer Anmeldung per E-Mail bekommt oder wenn man sich ein neues Passwort zuschicken lässt.
Kennt PHP dafür eine bestimmte Funktion oder wie macht man das bestenfalls?
Ähnliche Themen
JavaScript: Arrays erstellen und nutzen
Info | 0 Kommentare
HTML Formular: Weiterleitung abhängig von Radiobutton oder Checkbox
Tutorial | 0 Kommentare
PHP: Aktuelles Datum und Zeit ermitteln
Tutorial | 0 Kommentare
PHP: Upload großer Dateien
Tutorial | 0 Kommentare
PHP: Datei Download Skript
Tutorial | 0 Kommentare
PHP: Formular-Eingaben als Array an PHP Skript schicken
Tipp | 0 Kommentare
Bild vor dem Upload im Browser verkleinern
Tutorial | 5 Kommentare
Wichtiger Hinweis
Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.
Jetzt mitmachen
Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.
Am einfachsten geht es folgendermaßen mit einer Kombination aus md5() und rand():
Die Funktion rand() erstellt dir eine Zufallszahl und md5() macht dir daraus einen MD5-Hash, der ungefähr so aussieht, wie die zweite Zeile oben.
Wenn dir das zu lang ist, kannst du den String auch direkt mit substr() begrenzen:
Wenn du die 10 oben durch eine andere Zahl ersetzt, kannst du die Stellen verkürzen. Im Beispiel oben habe ich mal eine Länge von 10 Zeichen gewählt.
Oder wir machen direkt eine kleine Funktion daraus:
Alternativ kannst du auch die Funktion uniqid() verwenden, die allerdings nicht ganz so gute Ergebnisse liefert:
Diese Funktion erstellt eine eindeutige ID aus der aktuellen Zeit, damit sind die ersten Stellen immer identisch, wenn du die Funktion kurz hintereinander aufrufst. Als Zufallsstring eignen sie sich aber allemal.
Beschränkung dieser Funktionen
Vorteil meiner oben genannten Funktionen ist, dass sie sich sehr einfach implementieren lassen und sich die Strings auch als Passwörter eignen (mehr über sichere Passwörter). Es gibt aber auch einen Nachteil: Die Strings bestehen nur aus Kleinbuchstaben und Zahlen. Wir haben keine Möglichkeit, selbst zu bestimmen, welche Zeichen in dem String vorkommen sollen. Wenn man das möchte, muss man sich schon selbst eine größere Funktion basteln.
Letztes Update am 19.11.2022 | Erstellt am 19.11.2011
Die Beispiele von Computer Experte sind so einfach wie genial. Trotzdem hier mal ein kleines Beispiel, wie man sich schnell selbst eine Funktion basteln kann, die aus beliebigen Zeichen einen Zufallsstring zaubert:
Das ganze funkioniert folgendermaßen: Zuerst definieren wir eine Zeichenkette (hier wegen der Länge umgebrochen) mit allen Zeichen, die vorkommen sollen. Natürlich kann man da noch beliebige Zeichen hinzunehmen oder wegnehmen.
Dann definieren wir mit $str unseren Zufallsstring und schreiben in $anz die Anzahl der Zeichen in dem String mit unseren möglichen Zeichen. Anschließend rufen wir so oft, wie unser neuer String lang sein soll, den Zufallsgenerator rand() in unserer Schleife auf und wählen uns jedes mal ein Zeichen aus dem String möglicher Zeichen heraus.
Schließlich geben wir den fertigen String zurück. Ein möglicher, generierter String könnte "G3pgIA" sein.
22.11.2011 um 10:35