Publié le 11/10/2010
Auteur fobec
Réseaux sociaux
0 partages
0 tweets
0 plus
0 commentaires

Generer un mot de passe aleatoire

Dans la gestion des comptes membre, il arrive que l'internaute oublie son mot de passe. Plus personne ne stocke les mots de passe en clair dans les bases de donnée de son site internet. L'astuce consiste à envoyer un nouveau mot de passe pour l'identification du membre qui sera constitué de manière aléatoire.

Construire un mot de passe aléatoire

PasswordGenerator est une class static qui génère des mots de passe aléatoire. Les combinaisons sont assemblées de type suite de caractères ou alphanumérique. Le paramètre len fixe la longueur du mot de passe souhaité.
<?php
/**
 * Générer un mot de passe aléatoire
 * Fobec 2010
 */
 
class PasswordGenerator {
 
    const letters='aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWXxYyZz';
    const numbers='0123456789';
 
    static public function random($len, $usenumeric) {
        if ($usenumeric==true) {
            $stringlib=self::letters.self::numbers;
        } else {
            $stringlib=self::letters;
        }
 
        $plen = strlen($stringlib);
        $password='';
        for ($i = 1; $i <= $len; $i++) {
            $password.= substr($stringlib, rand(0,$plen), 1);
        }
 
        return $password; 
    }
}
?>

Exemple de mot de passe aléatoire

Utilisons la class pour générer un mot de passe de taille fixe et composé d'un type de cartactère.
<?php
/**
 * Exemple d'utilisation
 */
echo 'mot de passe de 10 caracteres: '.PasswordGenerator::random(10, false);
echo '<br>';
echo 'mot de passe de 8 caracteres ou chiffres: '.PasswordGenerator::random(8, true);
?>

Mots de passe générées
mot de passe de 10 caracteres: rIeTFtoPy
mot de passe de 8 caracteres ou chiffres: r1d51DXd

Le principe de la class est de présenter une manière de générer des mots de passe. Tout est possible, la liste des
caractère peut etre étendue à des caractères spéciaux ou encore le résultat peut etre encodé en MD5.

Ajouter un commentaire

Les champs marqués d'un * sont obligatoires, les adresses emails se sont pas publiées.

A lire aussi

Réseaux sociaux
Présentation de l'article
Catégorie
php5 - script
Mise a jour
11/10/2010
Visualisation
vu 3829 fois
Public
Internaute
Auteur de la publication
Fobec
Admin
Auteur de 267 articles
|BIO_PSEUDO|
Commentaires récents

Publié par angelofchaos dans java

Marche très bien , merci beaucoup :)

Publié par pgts09 dans tuto

Bonjour,
Felicitations pour ce tuto simple, et qui semble repondre exactement ce que je cherchais !
Malheureusement je n'arrive pas faire fonctionner, voici ce que donne mon essai : J'ai pourt...

Publié par diet dans CMS

Mais programme-dietetique.com est un site. En logiciel il y a diettesettics.com

Publié par Romaingineer dans tuto

Question un peu similaire celle de nicolasterraes.

Je ne trouve pas de ligne dans wpcontentthemes, j'en trouve 2 ou trois dans WP includes mais qui utilsent la fonction echo...

Du coup...

Publié par jpa71 dans java

Efficace.. Bien commente.. Du code bien pense
Bravo