Return to Snippet

Revision: 478
at July 15, 2006 12:21 by ppalli


Initial Code
<?php

    // *********************************************************************
    // ** Fichero: generapassword.php
    // ** Descripción: Generador de Contraseñas de una longitud dada.
    // ** Argumentos de entrada: $longitud es el número de caracteres
    // ** de la contraseña generada.
    // ** Autor: Juan García
    // ** Fecha: Julio 2005
    // *********************************************************************
    function GeneraPassword($longitud)
    {
    /* Se valida la longitud proporcionada. Debe ser número y mayor de cero.
    Si es menor o igual a cero le asignamos la longitud por defecto.
    Si es mayor de 32 le asignamos 32.
    */
    if(!is_numeric($longitud) || $longitud < = 0)
    {
    $longitud = 8;
    }
    if($longitud > 32)
    {
    $longitud = 32;
    }

    /* Asignamos el juego de caracteres al array $caracteres para generar la contraseña.
    Podemos añadir más caracteres para hacer más segura la contraseña.
    */
    $caracteres = ‘abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+-/*%&_’;

    /* Introduce la semilla del generador de números aleatorios mejorado */
    mt_srand(microtime() * 1000000);

    for($i = 0; $i < $longitud; $i++)
    {
    /* Genera un valor aleatorio mejorado con mt_rand, entre 0 y el tamaño del array
    $caracteres menos 1. Posteríormente vamos concatenando en la cadena $password
    los caracteres que se van eligiendo aleatoriamente.
    */
    $key = mt_rand(0,strlen($caracteres)-1);
    $password = $password . $caracteres{$key};
    }

    return $password;
    }
    /* Llamamos a la función GeneraPassword y mostramos la clave generada.*/
    echo GeneraPassword(10);
    ?>

Initial URL


Initial Description


Initial Title
Generar contraseñas 1

Initial Tags


Initial Language
PHP