2010-09-01

Función PHP para generar contraseñas

La siguiente función permite la creación automática de contraseñas con PHP. Permite elegir la longitud deseada y la fortaleza de la misma. La función elimina de las contraseñas caracteres que pueden ser confundidos por otros, por ejemplo la vocal "o" con el número "0", la "i" con el "1", etc.
  1. <?php  
  2. function generar_password($longitud=9, $fortaleza=0) {  
  3.     $vocales = 'aeuy';  
  4.     $consonantes = 'bdghjmnpqrstvz';  
  5.     if ($fortaleza >= 1) {  
  6.         $consonantes .'BDGHJLMNPQRSTVWXZ';  
  7.     }  
  8.     if ($fortaleza >= 2) {  
  9.         $vocales ."AEUY";  
  10.     }  
  11.     if ($fortaleza >= 4) {  
  12.         $consonantes .'23456789';  
  13.     }  
  14.     if ($fortaleza >= 8 ) {  
  15.         $vocales .'@#$%';  
  16.     }  
  17.   
  18.     $password = '';  
  19.     $alt = time() % 2;  
  20.     for ($i = 0; $i < $longitud; $i++) {  
  21.         if ($alt == 1) {  
  22.             $password .= $consonantes[(rand() % strlen($consonantes))];  
  23.             $alt = 0;  
  24.         } else {  
  25.             $password .= $vocales[(rand() % strlen($vocales))];  
  26.             $alt = 1;  
  27.         }  
  28.     }  
  29.     return $password;  
  30. }  
  31. //Ejemplo de uso  
  32. echo generar_password(5,8);  
  33. ?>  
Visto en » »

No hay comentarios: