Avatar ·

Wie generiert man einen zufälligen eindeutigen alphanumerischen String in PHP?

Hallo zusammen! Ich bin ein PHP-Anfänger und stehe vor einer Aufgabe: Ich muss zufällige Strings für Session-IDs, Coupons und einfach für eindeutige Links erstellen. Ich habe versucht, es mit `rand()` und Verkettung zu implementieren, aber es entstehen doppelte oder unsichere Strings. Hier ist, was ich geschrieben habe: ```php function generateRandomString($length = 10) { $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $randomString = ''; for ($i = 0; $i < $length; $i++) { $randomString .= $characters[rand(0, strlen($characters) - 1)]; } return $randomString; } ``` Probleme: 1. Manchmal werden bei häufigen Aufrufen (z.B. in einer Schleife) identische Strings generiert. 2. Ich habe gehört, dass `rand()` nicht kryptografisch sicher und vorhersagbar ist. 3. Ich weiß nicht, wie ich die Eindeutigkeit garantieren kann, wenn ich 1000 Strings auf einmal benötige. Könnt ihr mir sagen, wie man in PHP korrekt zufällige alphanumerische Strings generiert? Dabei sollten Leistung, Sicherheit und die Vermeidung von Kollisionen berücksichtigt werden.