Mise à jour de la fonction aléacode

Aujourd’hui je vous propose une petite mise à jour de la fonction aléacode (fonction permettant la génération rapide d’un mot de passe en PHP). Sans plus attendre, la voici:

<?php
    /**
     * Permet de générer un mot de passe
     * Utilisation:
     * * Générer un code de x caractères: aleacode(x)
     * * Générer un code entre x et y caractères: aleacode(x,y)
    */
    function aleacode($a,$b=0){
        $passe = null; // On créé la variable $passe
        $possibilites = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','0','1','2','3','4','5','6','7','8','9','@','&'); // Liste de tous les caractères à utiliser pour générer le mot de passe
        if($b != 0){ $nb = mt_rand($a + 1,$b + 1); } else{ $nb = $a + 1; } // Détermine la taille du mot de passe à générer
        for($i=1;$i<$nb;$i++){ $passe .= $possibilites[mt_rand(0,count($possibilites) - 1)]; } // On génère le mot de passe
        return $passe; // On transmet le mot de passe
    }
?>

Liste des modifications

  • Nettoyage du tableau (suppression des caractères spéciaux difficiles à retenir pour l’utilisateur)
  • Simplification de l’écriture pour la génération d’un mot de passe à longueur fixe (une seule valeur est nécessaire)
  • Transmission du mot de passe grâce à un return (rend possible le stockage dans une variable par exemple)