Avatar ·

Comment générer une chaîne alphanumérique aléatoire unique en PHP ?

Bonjour à tous ! Je suis un développeur PHP débutant et j'ai rencontré un problème : je dois créer des chaînes aléatoires pour des identifiants de session, des coupons et simplement pour des liens uniques. J'ai essayé de le faire avec `rand()` et la concaténation, mais j'obtiens des chaînes répétitives ou non sécurisées. Voici ce que j'ai écrit : ```php function generateRandomString($length = 10) { $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $randomString = ''; for ($i = 0; $i < $length; $i++) { $randomString .= $characters[rand(0, strlen($characters) - 1)]; } return $randomString; } ``` Problèmes : 1. Parfois, des chaînes identiques sont générées lors d'appels fréquents (par exemple, dans une boucle). 2. J'ai entendu dire que `rand()` n'est pas cryptographiquement sûr et est prévisible. 3. Je ne sais pas comment garantir l'unicité si j'ai besoin de 1000 chaînes à la fois. Conseillez-moi comment générer correctement des chaînes alphanumériques aléatoires en PHP ? Il faut prendre en compte la performance, la sécurité et éviter les collisions. Merci.