Avatar ·

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

Bonjour à tous ! Je suis débutant en PHP et je développe un petit site. J'ai besoin de générer des chaînes aléatoires pour les tokens de session, les mots de passe temporaires et les identifiants de liens. J'ai trouvé ce code sur Internet : ```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; } ``` Mais plusieurs points me gênent : 1. La fonction `rand()` — j'ai entendu dire qu'elle n'est pas très aléatoire. 2. Si j'ai besoin de 1000 chaînes, le script est lent. 3. Je ne sais pas si cela convient à des fins cryptographiques (tokens). Puis-je utiliser cette fonction pour générer des mots de passe ? Comment rendre la génération vraiment aléatoire et sécurisée ? Existe-t-il des fonctions intégrées en PHP pour cela ? Je serais reconnaissant pour une explication détaillée avec des exemples. Version