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

Publié par math dans java

Salut, quelle est la modification a faire pour pouvoir utiliser une webcam usb qui n'est pas une logitech?

Publié par fobec dans logiciel

MAJ: migration vers GoogleMap V3 de la carte

Publié par Djoe dans java

Rien à redire, fonctionne parfaitement. Merci beaucoup

Publié par Neoray dans java

Ce tuto m'a bien depanne. Par contre pour une utilisation avec les heures, il me semble qu'il y a une notion de GTM a mettre en plus.
Merci ;)

Publié par Christof dans CMS

Je pense qu'il y a un problème au niveau de l'affectation du longint "Color" dans la
variable de type byte "r". A mon avis, cela risque de provoquer une erreur de
vé...