Crear cadena aleatoria en PHP
La generación de una cadena aleatoria es muy útil, ya que se puede usar para la creación de códigos, contraseñas, campos de validación de seguridad, y cualquier otro fin que necesite valores al azar. Particularmente, yo las utilizo para definir valores secretos en usuarios, los cuales me sirven para almacenar en cookies de sesión. También las utilizo para realizar la verificación a la hora de un registro de usuario, genero un código aleatorio con esta función y se la envÃo por e-mail para que realice la confirmación. Las posibilidades de utilización son muchas, queda todo a tu imaginación.
<?php function newCode(){ $string = ''; $ok = false; $len = 8; $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; do { for ($i = 0; $i < $len; $i++) { $pos = rand(0, strlen($chars)-1); $string .= $chars{$pos}; } $res = mysql_query("SELECT id FROM urls WHERE code = '$string'"); if (mysql_fetch_lengths($res)>0) $ok = true; } while ($ok = false); return $string; } ?>
La variable $chars nos define los caracteres admitidos para la generación de la cadena aleatoria. Podemos definir los que necesitemos, en este caso solo se utilizan las letras minúsculas, mayúsculas y los números.
La variable $len es el tamaño (o longitud) que va a tener la cadena aleatoria, en este caso se va a generar una de 8 caracteres. Tranquilamente esta variable podrÃa haber sido pasada como parámetro, pero como yo no lo necesito no lo hice.
1 Trackback(s)