Como gerar uma string alfanumérica aleatória única em PHP?
Olá a todos! Sou um desenvolvedor PHP iniciante e me deparei com uma tarefa: preciso criar strings aleatórias para identificadores de sessão, cupons e apenas para links únicos. Tentei implementar com `rand()` e concatenação, mas obtenho strings repetidas ou inseguras.
Aqui está o que escrevi:
```php
function generateRandomString($length = 10) {
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[rand(0, strlen($characters) - 1)];
}
return $randomString;
}
```
Problemas:
1. Às vezes, strings idênticas são geradas em chamadas frequentes (por exemplo, em um loop).
2. Ouvi dizer que `rand()` não é criptograficamente seguro e é previsível.
3. Não sei como garantir a unicidade se preciso de 1000 strings de uma vez.
Dicas de como gerar strings alfanuméricas aleatórias corretamente em PHP? Preciso considerar desempenho, segurança e evitar colisões.
No answers yet.
Faça login para deixar uma resposta