IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Sécurité Discussion :

Défi : Créez votre propre générateur de mots de passe !


Sujet :

Sécurité

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut
    Bonjour,

    Il ne vous reste plus que quelques jours pour proposer votre générateur de mot de passe. Voici la liste des participants actuels.

    Auteur Tester Sources Description Test mot de passe
    Adrael66 lien lien lien Présent
    SpaceFrog lien (page HTML/JS) lien Présent
    1franck lien (page HTML/JS) Manquant Manquant
    lemoussel C# lien1 lien2 lien Présent
    aloisioa lien Manquant Manquant Manquant
    Spartacusply lien lien (+doc) lien Présent
    NoFeaR1991
    lien lien lien Présent
    Ibuss Manquant lien lien Présent
    iolco51 lien lien lien Présent
    Glieunou lien Manquant Manquant Présent
    thomZz09 lien lien lien Présent
    xurei lien lien lien Présent
    -Nikopol- LaTeX (online) lien lien Présent
    Itchy Java lien lien Présent
    Angelsafrania lien lien lien Présent
    onequestionthank Manquant lien lien ?
    Tlams AHK (lien) lien lien Présent
    LaurentC33 lien lien lien Présent

  2. #2
    Membre Expert

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Billets dans le blog
    9
    Par défaut Défi : Créez votre propre générateur de mots de passe !
    Bonjour,

    Le projet est intéressant, et deux questions surgissent:

    1) Combien y a-t-il de symboles utilisables ? TNT89 en mentionne 20, et l'on en dénombre 24 sur la page web de 1frank; pour ma part, j'en ai trouvé huit autres en consultant une table ASCII:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    034 22           "    (double quote)
    039 27           '    (single quote)
    042 2A           *    (asterisk)
    061 3D           =    (equal sign)
    094 5E           ^    (caret cirumflex)
    096 60           `
    123 7B           {    (left opening brace)
    125 7D           }    (right closing brace)
    Qu'il y en ait 24 ou 32 change peu de choses au code; l'essentiel est que la liste ne contienne pas de caractère interdit.

    2) Les programmes rédigés en Turbo-Pascal sont-ils acceptés ? Je connais un vieux paléo-programmeur qui serait ravi de participer au concours.

    Merci pour les infos que vous pourrez m'apporter.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 407
    Par défaut
    1) Combien y a-t-il de symboles utilisables ? TNT89 en mentionne 20, et l'on en dénombre 24 sur la page web de 1frank; pour ma part, j'en ai trouvé huit autres en consultant une table ASCII:
    Tu pourrais aussi autoriser les caractères hors clavier et unicode.
    Je viens de regarder le réglement et ça n'a pas l'air d'être proscrit.

  4. #4
    Membre confirmé

    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juillet 2009
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Juillet 2009
    Messages : 62
    Par défaut
    Voici les symboles que j'utilise dans PasswordStrengthMeter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <>&_-@=+*/$%&!:;?.*^[](){}\\|`#~

  5. #5
    Membre Expert

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par défaut
    Hello !

    voici ma participation, visible à l'adresse suivante : http://generationpassword.alwaysdata.net/

    J'ai fait ça vite fait (en PhP donc), disons que c'est un premier jet, mais sachant que je ne sais pas le temps que j'aurais à améliorer tout ça d'ici le premier mars, je me permet de le mettre en ligne dès maintenant.

    J'ai axé mon développement pour avoir un mot de passe le plus facilement mémorisable possible (parce que bon aligné des chiffres, des lettres et des symboles super mais si c'est pour l'avoir écrit sur un post-it sur le bureau...) et qui malgré tout soit suffisamment sécurisé tout de même.

    Une API (extrêmement simple) du projet est dispo ici http://generationpassword.alwaysdata.net/doc, avec une explication un peu plus poussé de la façon dont est construite mot de passe

  6. #6
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut Défi : Créez votre propre générateur de mots de passe !
    Bonjour,

    Le 15 février, la rubrique sécurité vous a proposé de créer votre propre générateur de mot de passe et d'avoir peut-être la chance de le voir hébergé sur Developpez.com.

    Notre partenaire livre, les éditions ENI, offrira aux meilleurs le livre intitulé Ethical Hacking, qui a déjà été lu par quelques-un de nos membres.



    Il ne vous reste que quelques jours pour participer à ce défi ! En effet, vous n'avez que jusqu'au 1er mars pour nous faire parvenir votre participation.

    Vous pouvez consulter les détails de ce défi ici.

  7. #7
    Membre actif

    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 70
    Par défaut Javascript password generator
    Bonjour,
    Merci pour l'idée c'est un concours sympa, n'ayant jamais été moi-meme satisfait de la grosse majorité des générateurs / évaluateurs en ligne.

    Du coup j'ai tenté de faire un petit générateur et évaluateur en javascript. Comme je le fais sur mon temps libre, et que j'en ai peu j'ai du revoir mes ambitions a la baisse: pas d'internationalisation, pas de recherche ni de génération depuis dictionnaire, pas de stratégie "customizable". Je pense que je n'aurai pas l'occasion de l'améliorer beaucoup d'ici au 01/03 donc je le poste maintenant.

    Utilisable en ligne ici: http://iolco51.free.fr/
    Sources sur github: https://github.com/lcoulet/securePassword.Js

    • En langue anglaise seulement pour le moment... Désolé! (facile à changer mais pas encore internationalisé)
    • Le moteur de génération a quelques options: la taille, les sets de caractères, et optionnellement générer des patterns plus facilement mémorisables
    • Le moteur d'évaluation est subjectivement basé sur mon opinion de ce que doit être un bon mot de passe, influencé par les ressources sur le sujet sur le net. Sur bien des points je le trouve meilleur que la plupart que l'on trouve sur le net.
    • Licence permissive Apache 2.0
    • Le choix de javascript: pas de besoin de de processing sur le serveur, pas ou peu de dépendances (Jquery et gauge.coffee pour l'UI seulement, il y aurait i18n si j'avais réalisé l'internationalisation)
    • Il n'y a aucune dépendance envers l'UI, le moteur de génération ou d'évaluation peuvent être utilisés séparément
    • Je ne suis pas codeur Javascript, merci pour votre indulgence si le code ne respecte pas les standards / best practices... C'était aussi l'occasion pour moi de pratiquer un peu ce langage.


    Ce que l'outil ne dit pas, c'est qu'un mot de passe dans la plupart des cas doit être mémorisable, et suffisamment long. Selon moi mieux vaut une grande chaine de plusieurs mots qu'un mot de passe complètement cryptique et court, ce que j'ai essayé de représenter dans la partie notation qui me convient pas mal.

    Merci encore pour le petit défi.

    Loic

  8. #8
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2007
    Messages
    677
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2007
    Messages : 677
    Par défaut
    Voila ma contribution expresse, en C# =P

    L'intégralité du code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    using System;
    using System.Web.Security;
    
    namespace PassGenerator
    {
        class Program
        {
            static void Main()
            {
                int length, specialCharCount;
                var password = string.Empty;
    
                if (int.TryParse(Console.ReadLine(), out length) &&
                    int.TryParse(Console.ReadLine(), out specialCharCount) &&
                    length >= specialCharCount)
                {
                    password = Membership.GeneratePassword(length, specialCharCount);
                }
    
                Console.WriteLine(string.IsNullOrWhiteSpace(password) ? "Paramètres incorrects" : password);
                Console.Read();
            }
        }
    }
    (Ajouter System.Web.dll aux références du projet pour avoir accès à la classe Membership).

    Bon par contre ce n'est pas très userfriendly, je vous l'accorde. Si j'avais eu plus de temps j'aurais participé volontiers à ce défit ^^

  9. #9
    Membre extrêmement actif
    Homme Profil pro
    Graphic Programmer
    Inscrit en
    Mars 2006
    Messages
    1 632
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Graphic Programmer
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 632
    Par défaut
    Pas besoin de s'embeter a faire des mot de passe les plus compliqués qui soient que vous arriverez jamais a retenir ( d'autant que je compte meme plus le nombre de site, qui vous renvoient par mail votre login et votre mot de passe en clair... ). retenez une phrase et ecrivez la sans les espace et la ponctuation et c'est réglé..

  10. #10
    Membre éprouvé
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2003
    Messages
    1 500
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2003
    Messages : 1 500
    Par défaut
    Il y a la librairie vt-password en java qui permet de générer des mots de passe simplement, juste en définissant les règles à respecter... du coup le code devient très clair

  11. #11
    Membre très actif
    Homme Profil pro
    recherche
    Inscrit en
    Octobre 2011
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : recherche
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2011
    Messages : 144
    Par défaut
    Bonsoir,
    En cherchant des codes sources sur ce sujet j'aurais appris que java script est plus sécurisé pour l'utilisateur plutôt qu'un script cgi c'est évident si on y réfléchis, non ?

  12. #12
    Membre Expert

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Par défaut
    J'ai mis à jour mes sources, je pense plus n'y toucher jusqu'au premier mars.

    La démo : http://generationpassword.url.ph/
    Les sources : https://github.com/ccantet/generationpassword
    L'API : http://generationpassword.url.ph/doc

    Pour le reste, je vous laisse lire le README

  13. #13
    Nouveau candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2012
    Messages : 2
    Par défaut ThomZz Password Gen v1.0
    Salut,

    N'étant aucunement programmeur web, encore moins PHP, j'ai tout de même, pour le plaisir, réaliser le défi en PHP (soyez donc indulgent envers mon code .. :S).

    Pour la démo : http://thomzz.110mb.com/Password_Generator

    Pour les sources : https://github.com/ThomZz/thomzz.github.io

    --------------------------
    Infos / Guide de l'utilisateur (^^) :

    Projet réaliser en PHP.
    Interface : Javascript (JQuery) et CSS3.

    Les validations client-side sont en javascript.


    Utilisation :


    Section options :
    (cliquer sur le petit onglet gris pour cacher/décacher)

    Occurences minimales :

    Spécfier des occurences minimales pour déterminer combien le mot de passe généré contiendra (au minimum) de chaque type de caractère.
    Laisser le champ vide ou à 0 simplement si vous ne désirez rien spécifier.

    Ne pas utiliser de .. :

    Assez explicite, signifie de ne pas prendre les types de caractères spécifié par l'option.


    Résultats : (apparaît lorsqu'un mot de passe est généré, juste en dessous du champs "mot de passe généré")

    On peut voir le nombre d'occurences de chaques symboles utilisé dans le mot de passe généré.

    J'affiche la complexité (complexify.js) pour donner une idée à l'utilisateur du "niveau de sécurité" du mot de passe généré.


    Validations :

    Le maximum est de 128 caractères, et le minimum est de 8 pour le paramètre "longueur du mot de passe".
    Si une valeur supérieure, non numérique ou négative est entrée, le champ prendra soit la valeur minimale, soit la valeur maximale (128 ou 8, selon ce qui est entré).

    Le total des "occurences minimales" ne peut dépasser la longueur du mot de passe choisi.

    Les champs "occurences minimales" symboles et majuscules seront disabled selon si on coche l'option "Ne pas utiliser" correspondante.
    Il seront aussi vidés dans le cas ou il y avait une valeur dedans avant de cocher.

    --------------------------

    Ça fait pas mal le tour !

    Merci

  14. #14
    Invité de passage
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2014
    Messages : 1
    Par défaut Mon générateur de mot de passe
    Bien que nouveau membre, je n'ai pas pu y résister, voici ma proposition : http://glieunou.com/code/index.php

  15. #15
    Membre très actif

    Homme Profil pro
    Serial Entrepreneur
    Inscrit en
    Mai 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Serial Entrepreneur

    Informations forums :
    Inscription : Mai 2006
    Messages : 68
    Par défaut
    Voici ma (tardive) contribution : http://www.xurei-design.be/upg/.

    Codé en HTML/CSS/JS. Le fichier index est un php mais fonctionne très bien s'il est renommé en html. L'ensemble est utilisable sur n'importe quel serveur Apache sans aucune modification.

    Code source : https://github.com/xurei/upg

    Le but de ce projet est de proposer une alternative au mot de passe "traditionnel", en le rendant plus facile à retenir tout en restant robuste. Il y a une perte d'entropie si l'on rejette des password trop "compliqués" à mémoriser, ce que j'essaye de prendre en compte lors du test de robustesse.

    Pour l'instant, il y a deux modes : classique et prononçable. Le mode prononçable tente de créer des mots de passe plus faciles à prononcer et donc a retenir.

    Je travaille sur un troisième mode, inspiré du strip de xkcd Password Strength. Il sera disponible pour le 1er mars.

    Niveau sécurité, la robustesse du password est testée en brute force direct, en crack MD5 et SHA-1. D'autres testes peuvent être ajoutés facilement et le seront sans doute).

  16. #16
    Membre averti
    Homme Profil pro
    IT Operator
    Inscrit en
    Mars 2013
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : IT Operator
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2013
    Messages : 43
    Par défaut
    Je suis d'accord sur le fait que générer un mot de passe hyper complexe que personne ne peut se souvenir c'est pas utile. Si on peut pas se rappeler du mot de passe de tête, il sera mit dans un vulgaire fichier sur le pc pour faire des copier coller donc vive la sécurité. Et je ne parle pas du fait que l'utilisateur va vite se lasser d'aller chercher son mot de passe dans un fichier pour faire un copier coller chaque fois qu'il en a besoin.

    Donc c'est pour celà que je suis plutôt pour le genre de générateur que propose le membre "Spartacusply" à cette addresse http://generationpassword.url.ph/app/webroot/index.php/ . Il propose de saisir une phrase que l'on puisse mémoriser facilement et il la rend plus complexe en rajoutant des "." en guise d'espace et quelques chiffres. Ce système est de loin le meilleur pour ce souvenir d'un mot de passe tout en le rendant complexe. (j'ai testé en mettant une de ses phrases générées dans les tests de mot de passe des autres sites qui ont été proposées, et la force de sécurité est maximale)

    Donc voilà je ne propose malheureusement rien du tout j'ai vu l'annonce bien trop tard donc je n'ai malheureusement pas le temps de faire quelque chose de bien. J'apporte donc ma contribution en ayant expliqué mon point de vue, qui peut-être sera prit en compte par les modérateurs

    Bon courage pour les autres ! et que le meilleur gagne

  17. #17
    Membre actif

    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 70
    Par défaut Mise a jour
    J'ai eu un peu de temps et donc ajouté le support de dictionnaires: Anglais et Francais ... Pour la vérification et la génération plus mémorisable.

    Mais pas encore de texte en Français - mais j'y travaille -

    Pour rappel:


    Merci,
    Loic

  18. #18
    Membre confirmé

    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Février 2013
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Développeur multimédia
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 148
    Par défaut
    Bonjour à tous,
    Je viens de voir le concours.
    Peut-on rendre le projet demain dans la journée ou la date limite est ce soir ?

  19. #19
    Nouveau candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2012
    Messages : 2
    Par défaut
    Citation Envoyé par Matkil888 Voir le message
    Je suis d'accord sur le fait que générer un mot de passe hyper complexe que personne ne peut se souvenir c'est pas utile. Si on peut pas se rappeler du mot de passe de tête, il sera mit dans un vulgaire fichier sur le pc pour faire des copier coller donc vive la sécurité. Et je ne parle pas du fait que l'utilisateur va vite se lasser d'aller chercher son mot de passe dans un fichier pour faire un copier coller chaque fois qu'il en a besoin.

    Donc c'est pour celà que je suis plutôt pour le genre de générateur que propose le membre "Spartacusply" à cette addresse http://generationpassword.url.ph/app/webroot/index.php/ . Il propose de saisir une phrase que l'on puisse mémoriser facilement et il la rend plus complexe en rajoutant des "." en guise d'espace et quelques chiffres. Ce système est de loin le meilleur pour ce souvenir d'un mot de passe tout en le rendant complexe. (j'ai testé en mettant une de ses phrases générées dans les tests de mot de passe des autres sites qui ont été proposées, et la force de sécurité est maximale)

    Donc voilà je ne propose malheureusement rien du tout j'ai vu l'annonce bien trop tard donc je n'ai malheureusement pas le temps de faire quelque chose de bien. J'apporte donc ma contribution en ayant expliqué mon point de vue, qui peut-être sera prit en compte par les modérateurs

    Bon courage pour les autres ! et que le meilleur gagne

    Je suis d'accord avec le point qu'une phrase avec des "séparateurs" c'est bien pour s'en souvenir, mais rendu la, pas besoin d'un générateur de mot de passe pour séparer une phrase de 4 mots avec des %...

    J'aime%0les%1Patates%2.

    Une générateur "classique" avec beaucoup d'options permet de générer des séquences dur a se remémorer, oui, mais permet d'en générer selon des templates précis et des options de génération (ou encore des modes "prononçables"). Si l'algorithme est complet, et offres beaucoup d'options (je ne parle pas de mon générateur, puisque je l'ai fait vite sans analyse poussée), plus il est intéressant et utile de générer un mot de passe avec un générateur.

    C'est certain qu'on peu tapper : diahjdaodhnefdJCNASC&ycASHCY&?AS&CH sur le clavier random, mais cela ne permet pas de reproduire exactement,à volonté et a une vitesse très rapide un template défini pour choisir lequel on veut utiliser parmis tous ceux générés.

  20. #20
    Expert confirmé

    Avatar de -Nikopol-
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2013
    Messages
    2 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2013
    Messages : 2 174
    Billets dans le blog
    5
    Par défaut Avec LaTeX
    Idée de concours sympa, je porte ma contribution en proposant un générateur codé dans un langage moins usité pour ce genre de choses : (La)TeX. L'avantage est qu'on sera directement dans environnement idéal pour faire un publipostage avec une qualité typographique irréprochable.
    Pour la compilation, si vous n'avez pas de distribution LaTeX, vous pouvez utiliser un éditeur en ligne comme https://www.writelatex.com et copier le code ci-dessous.
    L'extension lcg sert uniquement de générateur de nombres aléatoires.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    \documentclass[10pt,a4paper]{article}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{lmodern}
    \usepackage{xcolor}
    \usepackage{fp}
    \usepackage[counter=mdp]{lcg}
    
    \makeatletter
    \newcount\nbchar
    \newcount\charspec
    \newcount\chiffre
    \newcount\Lettre
    \newcount\lettre
    \newcount\nbdesecurite
    \parindent=0pt
    %%%%%%%%%%%%%%%%%%%%%%%générateur de mot de passe%%%%%%%%%%%%%%%%%%%%%%%%%%%
    \newcommand\genmdp@i{%commande reccursive
            \chgrand[first=1,last=100]\rand%
            \unless\ifnum\arabic{mdp}>\propchar%utilisation des caractères spéciaux si argument optionnel
            		\let\next=\relax%
            		\advance\charspec by 1 %
                    \chgrand[last=14]\rand%
                    \ifnum\arabic{mdp}=1\edef\m@tdepasse{\m@tdepasse ]}\fi%ajout au mdp
                    \ifnum\arabic{mdp}=2\edef\m@tdepasse{\m@tdepasse ù}\fi%
                    \ifnum\arabic{mdp}=3\edef\m@tdepasse{\m@tdepasse [}\fi%
                    \ifnum\arabic{mdp}=4\edef\m@tdepasse{\m@tdepasse @}\fi%
                    \ifnum\arabic{mdp}=5\edef\m@tdepasse{\m@tdepasse =}\fi%
                    \ifnum\arabic{mdp}=6\edef\m@tdepasse{\m@tdepasse :}\fi%
                    \ifnum\arabic{mdp}=7\edef\m@tdepasse{\m@tdepasse ?}\fi%
                    \ifnum\arabic{mdp}=8\edef\m@tdepasse{\m@tdepasse \%}\fi%
                    \ifnum\arabic{mdp}=9\edef\m@tdepasse{\m@tdepasse \$}\fi%
                    \ifnum\arabic{mdp}=10\edef\m@tdepasse{\m@tdepasse *}\fi%
                    \ifnum\arabic{mdp}=11\edef\m@tdepasse{\m@tdepasse .}\fi%
                    \ifnum\arabic{mdp}=12\edef\m@tdepasse{\m@tdepasse !}\fi%
                    \ifnum\arabic{mdp}=13\edef\m@tdepasse{\m@tdepasse ;}\fi%
                    \ifnum\arabic{mdp}=14\edef\m@tdepasse{\m@tdepasse \#}\fi%
            \else%
            \chgrand[first=1,last=100]\rand%
            		\ifnum\arabic{mdp}>\propnombre%utilisation de lettres en fonction du "taux" déclaré en argument #1
            				\let\next=\relax%
            				\chgrand[last=52]\rand%
                    		\ifnum\arabic{mdp}<27%lettres minuscules
                    				\advance\lettre by 1 %
                            		\edef\m@tdepasse{\m@tdepasse\alph{mdp}}%ajout au mdp
                    		\else%
                    				\advance\Lettre by 1 %lettres majuscule
                            		\addtocounter{mdp}{-26}%
                            		\edef\m@tdepasse{\m@tdepasse\Alph{mdp}}%ajout au mdp
                    		\fi%
            		\else%
            				\let\next=\relax%
            				\advance\chiffre by 1 %chiffres
                    		\chgrand[last=10]\rand%
                    		\addtocounter{mdp}{-1}%
                    		\edef\m@tdepasse{\m@tdepasse\arabic{mdp}}%ajout au mdp
            		\fi%
            \fi%
            \advance\nbchar by 1 %
            \ifnum\nbchar<\l@ngmdp\def\next{\genmdp@i}\fi\next}%fin de la reccursion si compteur=longueur du mdp. \next lance la reccursion qui est terminale
    
    \newcommand\motdepasse[3][0]{%
            \def\propnombre{#2}%
            \def\propchar{#1}
            \def\l@ngmdp{#3}%
            %\let\secure\@empty%
            \def\m@tdepasse{ }%
            \def\longmdp{#2}
            \nbchar=0% initialisation des compteurs
            \charspec=0%
            \chiffre=0%
            \nbdesecurite=0%
            \Lettre=0%
            \lettre=0%
            \genmdp@i% lance la reccursion       
            \hrulefill\par\begin{center}%mise en page du texte et du mot de passe
            \texttt{\m@tdepasse}%
            \end{center}\solidite\par La robustesse du mot de passe est : %
            \medskip\barrepourcent\medskip\par}
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %%%%%%%%%%%%%%%%%%%%%%%%testeur de sécurité%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    \def\solidite{%
    %%%%%%%%%%%%%%%%%%%%%%%%bonus et penalités %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    \ifnum\chiffre<\l@ngmdp%
    	\multiply\chiffre by 4\advance\nbdesecurite by\chiffre %
    \else
    	\advance\nbdesecurite by -\l@ngmdp %
    	\advance\nbdesecurite by -\l@ngmdp %
    \fi
    %bonus nb de chiffres, accordé que s'ils ne sont pas seuls,si seuls une pénalité est imposée 
    \ifnum\Lettre>0\advance\Lettre by -\l@ngmdp \fi%bonus majuscules
    \multiply\Lettre by -2 %
    \ifnum\charspec=0\ifnum\chiffre=0%
    	\ifnum\lettre=0%
    		\advance\Lettre by -\l@ngmdp%Pénalité si majuscules seules
    		\advance\Lettre by -\l@ngmdp%
    	\else%
    		\ifnum\Lettre=0%
    			\advance\lettre by -\l@ngmdp%pénalité si minuscules seules
    			\advance\lettre by -\l@ngmdp%
    	\fi\fi\fi\fi
    \ifnum\lettre>0\advance\lettre by -\l@ngmdp \fi%bonus minuscule
    \multiply\lettre by -2 %
    \edef\l@ngmdp{\number\numexpr\l@ngmdp*4}% bonus nb de caractères
    \advance\nbdesecurite by\l@ngmdp %
    \multiply\charspec by 6 %                 bonus nb de caractères spéciaux
    \advance\nbdesecurite by\charspec %
    \advance\nbdesecurite by\Lettre %
    \advance\nbdesecurite by\lettre %
    \def\result{\the\nbdesecurite}}
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    
    
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%barre de pourcentage%%%%%%%%%%%%%%%%%%%%%%%%%%%
    \def\barrepourcent{%
    \FPeval{\resulta}{\the\nbdesecurite/100}%
    \FPeval{\resultb}{1-\resulta}%
    \ifnum\nbdesecurite>100%
    	\textbf{excellente} (100\,\%)\par\fbox{\color{green!90!black!}%
    	\vrule height1.5ex width \linewidth}%
    \else
    	\ifnum\nbdesecurite<20%
    		\textbf{très mauvaise} (\the\nbdesecurite\,\%)%
    		\par\fbox{\color{red!40!black}%
    		\vrule height1.5ex width \resulta\linewidth depth0pt%
    		\vrule height0pt width \resultb\linewidth depth0pt}%
    	\else%
    		\ifnum\nbdesecurite<40%
    			\textbf{mauvaise} (\the\nbdesecurite\,\%)%
    			\par\fbox{\color{red!95!black}%
    			\vrule height1.5ex width \resulta\linewidth depth0pt%
    			\vrule height0pt width \resultb\linewidth depth0pt}%
    		\else
    			\ifnum\nbdesecurite<60%
    				\textbf{moyen} (\the\nbdesecurite\,\%)%
    				\par\fbox{\color{orange!95!black!}%
    				\vrule height1.5ex width \resulta\linewidth depth0pt%
    				\vrule height0pt width \resultb\linewidth depth0pt}%
    			\else
    				\ifnum\nbdesecurite<80%
    					\textbf{bon} (\the\nbdesecurite\,\%)%
    					\par\fbox{\color{yellow!90!black!}%
    					\vrule height1.5ex width \resulta\linewidth depth0pt%
    					\vrule height0pt width \resultb\linewidth depth0pt}%
    				\else
    					\ifnum\nbdesecurite<100%
    						\textbf{bon} (\the\nbdesecurite\,\%)%
    						\par\fbox{\color{green!50!black!}%
    						\vrule height1.5ex width \resulta\linewidth depth0pt%
    						\vrule height0pt width \resultb\linewidth depth0pt}%
    					\fi
    				\fi
    			\fi
    		\fi
    	\fi
    \fi%
    }
    \makeatother
    \begin{document}
    
    
    {\Large \textbf{Mots de passe longueur 12 sans caractères spéciaux:}}\par
    \motdepasse{50}{12}\par
    \motdepasse{50}{12}\par
    \motdepasse{50}{12}\par
    \motdepasse{50}{12}\par
    \motdepasse{50}{12}\par
    \motdepasse{50}{12}\par
    \motdepasse{50}{12}\par
    \motdepasse{50}{12}\par
    \motdepasse{50}{12}\par
    \bigskip
    
    {\Large \textbf{Mots de passe longueur 8 sans caractères spéciaux:}}\par
    \motdepasse{50}{8}\par
    \motdepasse{0}{8}\par
    \motdepasse{50}{8}\par
    \motdepasse{50}{8}\par
    \motdepasse{50}{8}\par
    \motdepasse{50}{8}\par
    \motdepasse{50}{8}\par
    \motdepasse{50}{8}\par
    \motdepasse{50}{8}\par
    \bigskip
    
    {\Large \textbf{Mots de passe longueur 12 avec caractères spéciaux:}}\par
    \motdepasse[50]{50}{12}\par
    \motdepasse[50]{50}{12}\par
    \motdepasse[50]{50}{12}\par
    \motdepasse[50]{50}{12}\par
    \motdepasse[80]{50}{12}\par
    \motdepasse[30]{50}{12}\par
    \motdepasse[10]{50}{12}\par
    \bigskip
    
    {\Large \textbf{Mots de passe de longueur 8 sans chiffre avec et sans caractères spéciaux:}}\par
    \motdepasse{0}{8}\par
    \motdepasse[0]{0}{8}\par
    \motdepasse[50]{0}{8}\par
    \motdepasse[100]{0}{8}\par
    \motdepasse[80]{0}{8}\par
    \motdepasse[20]{0}{8}\par
    \bigskip
    
    
    {\large\textbf{Mots de passe de longueur 6 sans lettre avec et sans caractères spéciaux :}}\par
    \motdepasse{100}{6}\par
    \motdepasse[50]{100}{6}\par
    \motdepasse{100}{6}\par
    \motdepasse[30]{100}{6}\par
    \motdepasse[70]{100}{6}\par
    \motdepasse{100}{6}\par
    \bigskip
    
    {\Large \textbf{Mots de passe de longueur 10 sans lettre avec et sans caractères spéciaux :}}\par
    \motdepasse{100}{10}\par
    \motdepasse[50]{100}{10}\par
    \motdepasse{100}{10}\par
    \motdepasse[30]{100}{10}\par
    \motdepasse[70]{100}{10}\par
    \motdepasse{100}{10}\par
    
    \end{document}
    Utilisation :
    Il n'y a pas de limite (ni minimum ni maximum) pour le nombre de caractères du mot de passe ( En fait si la limite est de 2^31-1, ça devrait suffire ).
    Un paramètre optionnel (entre [ et ]), réglé par défaut à 0, permet ou non d'utiliser des caractères spéciaux, ainsi que de régler leur "taux" (aux variations de fréquences du générateur de nombre aléatoire près).
    Le deuxième paramètre permet de régler le "taux" de lettre du mot de passe.
    Le dernier paramètre permet de choisir la longueur du mot de passe.
    On peut donc générer des mots de passe avec ou sans caractères spéciaux, avec ou sans chiffres, avec ou sans lettres.
    le testeur de mot de passe est basé sur des bonus (longueurs, caractères speciaux, chiffres,...) et des pénalités (chiffres seuls, maj seules,..)
    Merci

    concourmdp.pdf

Discussions similaires

  1. Réponses: 17
    Dernier message: 29/01/2014, 19h47
  2. Réponses: 17
    Dernier message: 29/01/2014, 19h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo