Générer un mot de passe aléatoirement

Pour commencer le week-end (ou les vacances pour certains), voici une petite fonction, très simple permettant de générer un mot de passe aléatoire, par exemple pour un accès à une zone de gestion. C’est d’ailleurs ce à quoi ce petit bout de code fait maison m’a servi. 

Le principe ici était, pour moi, de générer une chaine de 8 caractères alphanumériques choisis aléatoirement. J’ai volontairement choisi de ne pas inclure de caractères accentués ni caractères spéciaux afin que les mots de passes générés soit relativement simple à retenir, tout en étant « difficile » à cracker. Bien sûr, les mot de passes sont cryptés en base, mais ça n’est pas la question.

Voici donc notre petite fonction :

function generatePwd(){
  $chars = "azertyuiopqsdfghjklmwxcvbn0123456789";
  $lenght = strlen($chars);
  $chars = str_split($chars,1);
  $pwd = "";
  for($i=0;$i<9;$i++){
    shuffle($chars);
    $pwd .= $chars[rand(0,($lenght-1))];
  }
  return $pwd;
}

Ici, je définis les caractères que je souhaite utiliser pour mon mot de passe. Je range ensuite chaque caractères dans un tableau grâce à str_split(). Vient ensuite la génération de la chaîne aléatoire dans une boucle for() qui s’executera 8 fois ( je veux 8 caractères). Pour augmenter sensiblement la difficulté du mot de passe, je mélange mon tableau de caractères à chaque passage dans la boucle, et choisi un caractère  du tableau au hasard.

Fonction super simple, je vous l’accorde, mais ça pourra toujours servir, libre à vous de le modifier et l’utiliser comme bon vous semble 


Commentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.