Avatar ·

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

Hallo zusammen! Ich bin neu in PHP und schreibe eine kleine Website. Ich muss zufällige Strings für Session-Tokens, temporäre Passwörter und Link-IDs generieren. Ich habe im Internet diesen Code gefunden: ```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; } ``` Aber mehrere Punkte verunsichern mich: 1. Die Funktion `rand()` – ich habe gehört, dass sie nicht wirklich zufällig ist. 2. Wenn 1000 Strings benötigt werden, läuft das Skript langsam. 3. Ich weiß nicht, ob dies für kryptografische Zwecke (Tokens) geeignet ist. Kann ich diese Funktion zur Generierung von Passwörtern verwenden? Wie macht man die Generierung wirklich zufällig und sicher? Gibt es in PHP eingebaute Funktionen dafür? Ich wäre dankbar für eine ausführliche Erklärung mit Beispielen. Version