Partage
  • Partager sur Facebook
  • Partager sur Twitter

Générateur de mot de passe

Il ne fait pas 6 caractères

Sujet résolu
Anonyme
    2 septembre 2006 à 2:54:04

    Salut à tous ! :)

    J'ai fait un petit script simple qui génère des mots de passe aléatoirement !
    Je voudrais qu'il fasse à chaque fois 6 caractères mais le problème, c'est que des fois, il ne le fait pas ...
    Des fois, il fait 6 caractères, des fois 5, des fois 4 ...
    Comment ca se fait ?
    Voici mon code :


    <?php

        $caracteres = array('a', 'A', 'b', 'B', 'c', 'C', 'd', 'D', 'i', 'I', 'j', 'J', 'k', 'K', 'l', 'L', 'm', 'M', 'n', 'N', 'o', 'O', 'p', 'P', 'q', 'Q', 'r', 'R', 's', 'S', 't', 'T', 'u', 'U', 'v', 'V', 'w', 'W', 'x', 'X', 'y', 'Y', 'z', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '_', '-');
                   
        $compteur = 0;
       
        while ($compteur != 6)
       
        {
                $rand = mt_rand(0,63);
                echo $caracteres[$rand];
                $compteur++;
        }
       
    ?>


    Merci d'avance ! ^^
    • Partager sur Facebook
    • Partager sur Twitter
      2 septembre 2006 à 3:00:22

      il faut que tu prennes un nombre aléatoirement compris entre 0 et la taille du tableau (-1 parcequ'il comment a 0) et la ton tableau contient pas 63 valeurs...


      <?php

          $caracteres = array('a', 'A', 'b', 'B', 'c', 'C', 'd', 'D', 'i', 'I', 'j', 'J', 'k', 'K', 'l', 'L', 'm', 'M', 'n', 'N', 'o', 'O', 'p', 'P', 'q', 'Q', 'r', 'R', 's', 'S', 't', 'T', 'u', 'U', 'v', 'V', 'w', 'W', 'x', 'X', 'y', 'Y', 'z', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '_', '-');
                     
          $compteur = 0;
         
          while ($compteur != 6)
         
          {
                  $rand = mt_rand(0,count($caracteres)-1);
                  echo $caracteres[$rand];
                  $compteur++;
          }
         
      ?>

      voila, j'espère que ça marchera ;)
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        2 septembre 2006 à 3:03:47

        Exact ! Je suis bête ...
        Merci ! :D
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          2 septembre 2006 à 11:10:49

          Je te conseille une utilisation comme celle-ci :
          function mdpAleatoire($longueur = 8)
          {
          return substr(md5(mt_rand()), 0, $longueur);
          }
          • Partager sur Facebook
          • Partager sur Twitter
            2 septembre 2006 à 12:25:53

            Citation : flobard

            Je te conseille une utilisation comme celle-ci :

            function mdpAleatoire($longueur = 8)
            {
            return substr(md5(mt_rand()), 0, $longueur);
            }


            Moi je conseille ca, c'est le plus optimisé :

            <?php
            function randpass($xlong)
            {
             return substr(uniqid(), 0, $xlong)
            }
            ?>
            • Partager sur Facebook
            • Partager sur Twitter

            Générateur de mot de passe

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown