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 3764 fois
Public
Internaute
Auteur de la publication
Fobec
Admin
Auteur de 267 articles
|BIO_PSEUDO|
Commentaires récents

Publié par Laurent dans java

Merci :)
Teste sous Linux CentOS, fonctionne mais ne recouvre pas la barre des taches.

Publié par Oscar dans java

Je vous remercie pour ce tuto il ma permis non seulement de gerer les couleurs dans les cellules mais aussi de positionner son contenu texte.

Publié par Celibataire dans news

Le trustrant est pas clair du tout peu d'informations sont disponibles sur lui!

Publié par deefaze dans CMS

R := Byte(Color);
G := Byte(Color shr 8);
B := Byte(Color shr 16);

Publié par Do dans tuto

Et lorsque l'on a un recordset a parcourir ? Que faut-il passer a la vue ? ligne par ligne ou un tableau ? ?
Le PHP est a lui seul deja un systeme de template :
>?php
echo $titre;
?>