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

Publié par BIBAK dans CMS

merci infiniment, ce sont des beau icons::: :)

Publié par nabil23 dans CMS

j\'arrive pas e telecharger les icons

Publié par traitstone dans CMS

c'est bou et tres bon chose

Publié par Fobec dans php5

a priori il manque simplement le R dans le nom de la constante
PDO::ATTR_ERRMODE en remplacement de PDO::ATT_ERRMODE

Publié par olibul dans CMS

var
fn: string;

begin

Result:= False;
if strFont <> \'\' then begin

// Tester le nom: si affectation directe à TFont, modifications aléatoires