20 Jan 2016

#miniTuto Générer des mots de passes sécures à la volée en JavaScript #1

Google+ Commentaires Newsletter

Bienvenue dans ce mini tutoriel, le tout premier d’une longue lignée je l’espère ! Pour notre numéro #1, je vais vous présenter un code JavaScript optimisé maison qui va permettre de générer aléatoirement des passwords en un clic. Cette fonction sera très pratique pour afficher par exemple un bouton « générer  » à côté d’un champ mot de passe d’un formulaire HTML…

Petit + sécurité, ces mots de passes contiendront  un caractère spécial (@#$+-*&_) situé aléatoirement dans la clé alphanumérique :

  • fchk@xTd
  • gKVad6+d
  • t95X*tq5
  • 9D2bxp4&
  • _9ubciEX

 

Partie JavaScript

La fonction generate(longueur) va générer un mot de passe à chaque fois qu’on l’appelle dans un code (exemple d’appel en dessous). Par défaut sa longueur est de 8 mais vous pouvez préciser une autre taille (generate(16)…) :

[cce_js]function generate(l) {
    if (typeof l==='undefined'){var l=8;}
    /* c : chaîne de caractères alphanumérique */
    var c='abcdefghijknopqrstuvwxyzACDEFGHJKLMNPQRSTUVWXYZ12345679',
    n=c.length,
    /* p : chaîne de caractères spéciaux */
    p='!@#$+-*&_',
    o=p.length,
    r='',
    n=c.length,
    /* s : determine la position du caractère spécial dans le mdp */
    s=Math.floor(Math.random() * (p.length-1));

    for(var i=0; i').appendTo($(this).parent());
        });
    }
    
    /* évènement click sur un element de class "generate" > appelle la fonction generate() */
    $(document).on('click','.generate', function(e){
        e.preventDefault();
        /* ajout du mot de passe + changement du paramètre type de password vers text (pour lisibilité) */
        $(this).parent().children('input').val(generate()).attr('type','text');
    });
});[/cce_js]

Partie intégration

Le code JQuery s’occupe d’insérer un bouton de génération à côté d’un champ password. Et un event .on est créé pour détecter le clic sur ce dernier ce qui changera la valeur de votre champ password. En plus je change le type de champ de password à text afin de rendre visible le mot de passe. Optionnel : si vous avez des contraintes de sécu côté serveur à remettre ce champ en password avant l’envoi !

Voici un exemple d’intégration de ce mot de passe (CSS non compris ^^) :

[cce_html]
      
    
        
...
...
[/cce_html]

 

Démo et code source

Testez vous-même le résultat (source ici) :

 

generatePassword-example

Il ne reste plus qu’à mettre votre propre style CSS est c’est dans vos projets ???? !

Continuez sur le site...

Restez informés des Actus, Tutos et Bons-Plans en suivant BXNXG :

Tags

Commentaires

  • ponzo
    12 juillet 2019 Répondre

    Bonjour,
    Merci beaucoup pour le partage de ton code, mais je n’arrive pas a l’intégrer dans mon formulaire, il doit manquer des éléments ? je suis novice dans le domaine, possible de m’aider ?

    • Péri Stuff
      13 juillet 2020 Répondre

      Bonjour moi aussi il me manquait des chose je t’envoie ce que j’ai mis et ça marche

      Générer Votre Code De Parrainage

Leave a Comment

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