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 la façon dont les données de vos commentaires sont traitées.

To respond on your own website, enter the URL of your response which should contain a link to this post’s permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post’s URL again. (Find out more about Webmentions.)