Avatar ·

Génération de chaîne aléatoire en PHP : comment faire correctement et en toute sécurité ?

Bonjour à tous ! Je suis un développeur PHP débutant, j'écris mon premier site avec inscription d'utilisateurs. J'ai besoin de générer des jetons aléatoires pour la confirmation par email et des mots de passe temporaires. J'ai trouvé une méthode simple sur Google, mais je ne suis pas sûr qu'elle soit correcte. Voici ce que j'utilise actuellement : ```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); // Par exemple : "a3F8kL9mN2..." ``` Problèmes que je vois : 1. La fonction `rand()` — j'ai lu qu'elle n'est pas cryptographiquement sûre. 2. Aucune garantie que la chaîne soit unique. 3. Pas clair comment faire pour que la chaîne contienne seulement des lettres ou seulement des chiffres. Dites-moi, comment générer correctement des chaînes aléatoires en PHP ? Des exemples sont nécessaires.