miércoles, 31 de diciembre de 2014

Generador automático de contraseñas en PHP

Os presento un sencillo código en PHP que genera automáticamente contraseñas:

<?php

function generar_password($longitud) {
   $codigos = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
   $max_cod = strlen($codigos) - 1;
   $resultado = "";
   $item = 0;

   for ($i = 0; $i < $longitud; $i++) {
      if ($i == 0) $item = rand(36, $max_cod);
      else if ($i < $longitud - 1) $item = rand(0, $max_cod);
      else $item = rand(26, 35);

      $resultado = $resultado . $codigos[$item];
   }
   return $resultado;
}

echo "Password: ".generar_password(8);

?>

A la función generar_password se le pasa como argumento el número de caracteres (longitud) de la contraseña. El primer carácter será siempre una letra en mayúsculas, y la última será siempre un número, para asegurarnos de que, al menos, contiene uno de estos caracteres.