Componente cakePhp generador de Contraseña aleatorio.

 

cakePhp

Es un componente muy sencillo, pero útil para el típico “he olvidado mi contraseña” en un sistema de usuarios.

Implementación en cake

– en”controller/components” en tu proyecto de cakePhp, añadir un archivo “password.php”.

 class PasswordComponent extends Object {

/**
 * Password generator function
 *
 */
    function generatePassword ($length = 8)
    {
        // inicializa variables
        $password = "";
        $i = 0;
        $possible = "0123456789bcdfghjkmnpqrstvwxyz"; 

        // agrega random
        while ($i < $length) {

            $char = substr($possible, mt_rand(0, strlen($possible)-1), 1);

            if (!strstr($password, $char)) {
                $password .= $char;
                $i++;
            }
        }
        return $password;
    }
}

– En el controlador que vayamos a usar este componente deberemos añadir:
var $components = array(‘Password’);

– Llamaremos a la función:
$this->Password->generatePassword();

– Si guardamos la función en una variable $newpassword, tendremos la nueva password aleatoria.