Demogracia Bits

• • • Colección privada de recortes de código y documentación para programación web

[Sí, aún estamos en pruebas; ¿por?]

Cadena aleatoria

Una cadena aleatoria es algo que siempre viene bien.

/*
 * Devuelve una cadena aleatoria de la longitud indicada
 * Los caracteres se eligen de la lista [opcional] proporcionada
 */

function cadena_aleatoria($longitud=16, $caracteres='0123456789abcdefghijklmnopqrstuvwxyz'){ // v2008-03-17
    $cadena = '';
    $max = strlen($caracteres)-1;

    for($i=0; $i<$longitud; $i++){
        $cadena .= $caracteres[mt_rand(0, $max)];
    }
    return $cadena;
}

Ejemplos de uso

// Imagen que no se lee de la caché
echo '<img src="foo.png?' . cadena_aleatoria() . '">';

// Generar una contraseña
echo cadena_aleatoria(8);

// Rellenar una quiniela
echo cadena_aleatoria(14, '111XX2');

// Dar conversación a un robot
echo cadena_aleatoria(1024, ' 01');

Historial

v2008-03-17
Eliminado mt_srand(), es innecesario desde PHP/4.2.0.
Naturalmente, es suficiente con calcular la longitud de $caracteres una vez.
Reemplazado el operador {} por [] (las llaves las van a quitar en PHP/6).
v2005-05-24
Primera versión.

Gracias a Pedro Graca por llamarme la atención sobre los dos fallos obvios de la primera versión... en diciembre de 2005. Más vale tarde que nunca.

Esta página ha sido impresa el domingo 6 de julio de 2008 (22:52:29 +0200) desde http://bits.demogracia.com/recortes/php/cadena-aleatoria.html, contenía HTML válido con CSS fresquito la última vez que lo miré y no debería tener flatas de ortografía.

Demogracia Bits no tiene absolutamente ninguna relación con Demogracia, salvo el nombre, el dominio punto com y que el autor es el mismo.

© 2005-2008 by Álvaro G. Vicario (alvaro.es) ¤ Burgos (España) ¤ http://bits.demogracia.com/