Ejemplo PHP: generar cadena aleatoria o random string

logo de php

Ejemplo de código fuente para generar una cadena aleatoria o random string, de números y letras y con la longitud que nosotros queramos.

 

Descripción del ejemplo

Para este ejemplo, usaremos 2 tipos de métodos  para conseguir el mismo resultado.

Con el primer método, mediante la función rand() de php, obtendremos la posición del caracter de un array de cadenas compuesto de números y letras, para ir recogiendo su valor y concatenarlo a una variable con la longitud que le pusimos.

Con el segundo método, usaremos la función str_shuffle() de php, para reordenar o barajar aleatoriamente la cadena con números y letras, y extraerla con substr() con la longitud que le hayamos definido.

 

Código

Método 1

<?php

//Método con rand()
function generateRandomString($length = 10) {
    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $charactersLength = strlen($characters);
    $randomString = '';
    for ($i = 0; $i < $length; $i++) {
        $randomString .= $characters[rand(0, $charactersLength - 1)];
    }
    return $randomString;
} 
?>

Método 2

<?php 

//Método con str_shuffle() 
function generateRandomString($length = 10) { 
    return substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, $length); 
} 
?>

 

Demo del ejemplo

Cadena aleatoria con método 1:

D0nK4Ecr63o895Do

Cadena aleatoria con método 2:

pL8HysPECMKawO2V

 

 

Valoración General

[Valoraciones:  4    Promedio:  4.3 de 5]
  • Razu

    El primer código me da error en la línea 8, “syntax error, unexpected ‘;’,expecting ‘)’

    • Javier Crego

      Hola Razu.
      Prueba ahora con el primer código, que estaba mostrándose erróneo y ya lo he corregido.

      Un saludo

  • Cristofer Fuentes

    justo buscaba esto para generar tokens de acceso muchas gracias ! 🙂