IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Fonction php pour mot de passe aléatoire avec règle de complexité


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Novembre 2010
    Messages : 6
    Par défaut Fonction php pour mot de passe aléatoire avec règle de complexité
    Bonjour à tous,
    je débute en php et je souhaiterais utiliser une fonction qui génère un mot de passe aléatoire avec règle de complexité:
    1) Définir la longueur du mot de passe
    2) Avec au minimum une majuscule (obligatoire)
    3) Avec au minimum un chiffre (obligatoire)
    4) Pas de symbole

    Voici un début, mais je n'arrive pas à y placer la complexité...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function genpwd($nc, $char = 'ABCDEFGHJKMNPKRSTUVWXYZabcdefghjkmnpqrstuvwxyz1234567890123456789')
    {
        $nb_lettres = strlen($char) - 1;
        $gen = '';
        for($i=0; $i < $nc; $i++)
        {
            $pos = mt_rand(0, $nb_lettres);
            $car = $char[$pos];
            $gen .= $car;
        }
        return $gen;
    }
    Exécution:
    J'ai trouvé ceci mais c'est en jQuery...comment le placer dans la fonction ci-dessus ? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Doit contenir des majuscules, des chiffres et des minuscules
    var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
    Quelqu'un a une idée ?

  2. #2
    Membre émérite Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Par défaut
    Salut,

    petite astuce, tu passe un caractère sur 2 en majuscule.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function genpwd($nc, $char = 'abcdefghjkmnpqrstuvwxyz1234567890123456789') {
        $nc = max(8, $nc); // Nombre de caractère minimum 
        $nb_lettres = strlen($char) - 1;
        $gen = '';
        for($i=0; $i < $nc; $i++) {
            $pos = mt_rand(0, $nb_lettres);
            $gen .= ($i%2) ? strtoupper($char[$pos]) : $char[$pos];
        }		
        return $gen;
    }

Discussions similaires

  1. Mots de passe sécurisés avec PHP 5.5
    Par grunk dans le forum Langage
    Réponses: 26
    Dernier message: 16/07/2014, 13h56
  2. Mots de passe sécurisés avec PHP 5.5
    Par grunk dans le forum Langage
    Réponses: 1
    Dernier message: 18/04/2014, 09h24
  3. [PHP 5.3] Crypter un mot de passe svn avec PHP
    Par Idleman dans le forum Langage
    Réponses: 19
    Dernier message: 24/05/2012, 16h26
  4. [MySQL] Création d'un login et mot de passe securisé avec PHP/MySQL
    Par NicoMontreal91 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 28/09/2008, 22h01
  5. [Sécurité] Crypter un mot de passe UNIX avec PHP
    Par dom78 dans le forum Langage
    Réponses: 3
    Dernier message: 15/05/2006, 19h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo