Un générateur de mot de passe

Parce que les petits outils c'est bien aussi, aujourd'hui je vous propose un générateur de mot de passe qui aura la délicatesse de générer avec soin.

Quelques particularités :

  • Il s'assure d'une bonne distribution des caractères, on ne se retrouvera pas avec 3 « r » à la suite (Ô joies du hazzard)
  • On peut choisir la longueur, qui est à 8 par défaut
  • On peut choisir les caractères que l'on veut mettre dedans, même si ceux par défaut sont géniaux : il n'y a pas de 0, O, 1, l, i…, mais il y a des #=@$ (qui ne sont pas que des gros mots)
  • Le code est superbe
<?php

function wd_generatePassword($length=8$possible='$=@#23456789bcdfghjkmnpqrstvwxyz')
{
    $password = '';

    $possible_length = strlen($possible) - 1;

    #
    # add random characters to $password for $length
    #

    while ($length--)
    {
        #
        # pick a random character from the possible ones
        #

        $except = substr($password-$possible_length / 2);

        for ($n = 0 ; $n < 5 ; $n++)
        {
            $char = $possible{mt_rand(0$possible_length)};

            #
            # we don't want this character if it's already in the password
            # unless it's far enough (half of our possible length).
            # note: we have 4 tries to find a suitable one.
            #

            if (strpos($except$char) === false)
            {
                break;
            }
        }

        $password .= $char;
    }

    return $password;
}

?>

Cet article a frappé votre imagination ? Abonnez-vous pour être informé de ceux à venir.

Commenter

Un avis sur cet article ? Partagez-le et faites vous des amis (ou pas) !

Marquer

Del.icio.us / Google / Live / Ma.gnolia / Yahoo

2 commentaires

damien
Damien a écrit : le 14 avr 2009

Tres tres bon code. merci beaucoup.
c'est leger et efficace.
parfait !

Jonas
Jonas a écrit : le 17 jun 2009

Bien mieux que celui que j'ai fait ici http://jonasluthi.com/passgen

Merci bien ;)

Laisser un commentaire

Pour ne pas retrouver mon blog noyé de spam à mon retour de vacances, les nouveaux commentaires devront attendre d'être approuvés pour apparaitre sur le blog. Je vous remercie de votre compréhension et vous souhaite un bel été.

 
 Souhaitez-vous être informé par E-Mail d'une réponse à votre message ?