Avatar ·

Generierung eines zufälligen Strings in PHP: Wie macht man es richtig und sicher?

Hallo zusammen! Ich bin ein PHP-Anfänger und schreibe meine erste Website mit Benutzerregistrierung. Ich muss zufällige Tokens für die E-Mail-Bestätigung und temporäre Passwörter generieren. Ich habe eine einfache Methode gegoogelt, bin mir aber nicht sicher, ob sie richtig ist. Hier ist, was ich derzeit verwende: ```php function generateRandomString($length = 10) { $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $charactersLength = strlen($characters); $randomString = ''; for ($i = 0; $i < $length; $i++) { $randomString .= $characters[rand(0, $charactersLength - 1)]; } return $randomString; } echo generateRandomString(32); // Zum Beispiel: "a3F8kL9mN2..." ``` Probleme, die ich sehe: 1. Die Funktion `rand()` – ich habe gelesen, dass sie nicht kryptografisch sicher ist. 2. Es gibt keine Garantie, dass der String eindeutig ist. 3. Es ist unklar, wie man erreicht, dass der String nur Buchstaben oder nur Ziffern enthält. Könnt ihr mir sagen, wie man zufällige Strings in PHP richtig generiert? Beispiele wären hilfreich.