PHP:¿Cómo generar passwords aleatórios numéricos o alfanuméricos de longitud variable?
De Foros del Web
Usando expresiones regulares y time() se pueden obtener dichos passwords aleatorios de una forma muy curiosa (por lo menos para mí xD). En el código se detalla como usa la función:
Código PHP:
<?php // Uso/sintax: // genera_password (longitud password en caracteres o dígitos, [tipo=alfanumerico|numerico]) // Si no indicas $tipo se asume como por defecto alfanumérico. function genera_password($longitud,$tipo="alfanumerico"){ if ($tipo=="alfanumerico"){ $exp_reg="[^A-Z0-9]"; } elseif ($tipo=="numerico"){ $exp_reg="[^0-9]"; } return substr(eregi_replace($exp_reg, "", md5(rand())) . eregi_replace($exp_reg, "", md5(rand())) . eregi_replace($exp_reg, "", md5(rand())), 0, $longitud); } //Ejemplo: echo "Password: (alfanumérico) ".genera_password(8)."<br>"; echo "Password: (numérico) ".genera_password(15,"numerico")."<br>"; echo "(recarga la página para ver otros passwords aleatorios)"; ?>
--Cluster 12 Jun 2003
Este artículo es parte de las FAQs de PHP y el Manual de PHP.
- Indice de las FAQs: Conceptos, Configuración, Formularios, Manejo de Archivos, Integración con Bases de Datos, Sesiones, Extensiones y Librerías, Seguridad, Funciones, Clases y Objetos, Frameworks
- Recomendamos también: Guía Zend, Frameworks PHP, Aceleradores PHP
- Agregar al FAQ: PHP: Instrucciones para agregar una pregunta al FAQ de PHP
- Para preguntas sobre PHP: Foro de Php
