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.
No answers yet.
Faça login para deixar uma resposta
Blogs