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)