Mira te regalare una funcion que evita los siguientes errores de la funcion
Código PHP:
function generateRandomString($length) {
return substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, $length);
}
echo generateRandomString(7);
- No permite mas de un caracter igual
- No puede dar como resultado una key mayor que el patron asignado
Mi aporte sera este Código PHP:
/**
* KeyAleatoria
*
* Esta funcion devuelve una key con la longitud de caracteres expecificada por $leng y formada por caracteres
* contenidos en el string $characters
*
* Si no se introduce $characters se usara el valor por default de la funcion
*
* Si no se introduce leng obtendremos una key de 32 caracteres con caracteres incluidos en $characters
*
* @param int $leng Longitud de la key generada
* @param type $values Valores posibles de los caracteres de la key
* @return string randomString
*/
function keyAleatoria($leng = 32,
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ')
{
$key = '';
while ((int) $leng-- > 0) {
$key .= $characters[(rand(0, strlen($characters) - 1))];
}
return $key;
}