Navigation

Contactez-nous

Kitpages
17 rue de la Frise
38000 Grenoble
tel : 04 58 00 33 81

Par Philippe Le Van (twitter accountplv) Dernière mise à jour : 18 March 2013

Générer un mot de passe sans ambiguité

Introduction

Quand on génère aléatoirement un mot de passe, il peut être intéressant d'enlever les caractères ambigus pour limiter les retours des clients.

Les caractères ambigus sont tous ceux qu'on peut facilement confondre dans un mail (o, 0, O, i, l, 1, ...).

Je vous propose un code très simple qui fonctionne correctement. Je soupçonne que les champions du chiffrement auront des choses à redire, mais pour un usage de base, c'est suffisant.

La fonction de génération du mot de passe

<?php
// la fonction de génération du password
function generatePassword($size = 8)
{
    $passwd = strtolower(md5(uniqid(rand())));
    $passwd = substr($passwd,2,$size);
    $passwd = strtr(
        $passwd,
        'o0ODQGCiIl15Ss7',
        'BEFHJKMNPRTUVWX'
    );
    return $passwd;
}

// on affiche 10 passwords pour tester
for ($i=1 ; $i < 10 ; $i++) {
    echo generatePassword()."\n";
}

Commentaires

Ajouter un commentaire