Avatar ·

Geração de string aleatória em PHP: como fazer corretamente e com segurança?

Olá a todos! Sou um desenvolvedor PHP iniciante, estou criando meu primeiro site com registro de usuários. Preciso gerar tokens aleatórios para confirmação de email e senhas temporárias. Pesquisei um método simples, mas não tenho certeza se está correto. Aqui está o que estou usando atualmente: ```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); // Exemplo: "a3F8kL9mN2..." ``` Problemas que percebo: 1. A função `rand()` — li que não é criptograficamente segura. 2. Não há garantia de que a string será única. 3. Não está claro como fazer para que a string contenha apenas letras ou apenas números. Alguém pode me orientar sobre como gerar strings aleatórias corretamente em PHP? Preciso de exemplos.