Générer un mot de passe aléatoirement
https://chierchia.fr/blog/2011/07/generer-un-mot-de-passe-aleatoirementPour 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
0 Webmentions
No webmentions were found.
- {% for webmention in webmentions %}
- {{ webmention.content }} {% endfor %}
No bookmarks were found.
{% endif %}- {% for webmention in webmentions %}
- {% endfor %}
No likes were found.
{% endif %}- {% for webmention in webmentions %}
- {{ webmention.content }} {% endfor %}
No links were found.
{% endif %}- {% for webmention in webmentions %}
- {{ webmention.title }} {% endfor %}
No posts were found.
{% endif %}- {% for webmention in webmentions %}
- {{ webmention.content }} {% endfor %}
No replies were found.
{% endif %}- {% for webmention in webmentions %}
- {% endfor %}
No reposts were found.
{% endif %}- {% for webmention in webmentions %}
- {% endfor %}
No RSVPs were found.
{% endif %}- {% for webmention in webmentions %}
-
{% if webmention.author %} {% endif %}{% if webmention.content %} {{ webmention.content }} {% else %} {{ webmention.title }} {% endif %} {% endfor %}
No webmentions were found.
{% endif %}