Journal Je me suis remis au C

Posté par  (Mastodon) .
Étiquettes : aucune
0
5
juin
2003
Bon ben voila, hier, j'avais besoin de vrai mots de passes pour le boulot et je me suis dit que cétait l'occasion ou jamais de me remettre à coder un peu.
Donc mon petit pwdgen est en GPL et dispo sur ma page perso : http://landry.minoza.free.fr/Dev/pwdgen/
Il y a encore pas mal d'améliorations possibles, mais c'est déjà pas mal (ça marche...).
Voilà.
  • # Re: Je me suis remis au C

    Posté par  . Évalué à 3.

    Pas mal, juste deux conseils qui me viennent en passant :
    - man getopt_long (plus standard et plus propre pour choper les options)
    - srand(getpid()*time(NULL)) pour générer la graine du random (empêche d'avoir deux fois le même mot de passe en exécutant le programme deux fois d'affilée)
    • [^] # Re: Je me suis remis au C

      Posté par  (Mastodon) . Évalué à 1.

      Merci.
      Pour srand, si je me souviens bien time(NULL) donne un nombre de secondes, et j'ai toujours initialisé comme ça, mais c'est vrai qu'à y réfléchir, si on le lance dans un script pour générer plein de mots de passes, ça peut poser un pb.
      • [^] # Re: Je me suis remis au C

        Posté par  . Évalué à 1.

        Le problème de time d'une manière générale, c'est que c'est pas du tout aléatoire.
      • [^] # Re: Je me suis remis au C

        Posté par  (site web personnel) . Évalué à 2.

        Il y a pire : si j'ai une idée approximative du moment où ton mot de passe a été généré (disons que je connais un intervalle de quelques heures/quelques jours) ca réduit énormément le nombre des mots de passe que je dois essayer. Par exemple, si j'ai une idée d'un intervalle de deux jours (48 heures) ca donne 48*3600=172800 mots de passes à tester (eh oui, la graine ne varie qu'une fois par seconde). Compare ça à un mot de passe de 5 lettres minuscules (dont on sait qu'ils sont facilement crackables de nos jours) il y a 26^5=11881376 mots de passe à tester.

        D'autre part, les pid ne sont pas réellement aléatoires (à moins d'avoir un noyau patché avec grsecurity par exemple ou d'être sous openbsd) donc ca en fait que déplacer le problème.

        En fait, je pense que l'idéal serait de demander une graine à l'utilisateur, ou de se baser sur des générateurs aléatoires forts (ceux qui sauvegardent l'entropie lors d'un reboot) et ne _pas_ utiliser srand.
  • # Re: Je me suis remis au C

    Posté par  . Évalué à 1.

    Il est pas un peu lourd ton prog avec tous tes includes (de KDE notamment), le main.s, le main.i, etc ? (470 Ko quand même)
  • # Re: Je me suis remis au C

    Posté par  (site web personnel) . Évalué à 3.

    Et pourquoi quand je mets un nombre supérieur à 9 il ne me prend que le premier chiffre ?

    Genre je mets 12 il me fait un password de 1 caractères ? Ca puxerait pas un peu ? (en tout bien tout honneur)
  • # Re: Je me suis remis au C

    Posté par  (site web personnel) . Évalué à 2.

    pour information, pour un pwgen, il y a deja... pwgen :)
    http://sourceforge.net/projects/pwgen/(...)

    Disponible dans toutes les bonnes distros, des options a la pelle y compris pour nos amis paranoiaques, bref le reve.
    • [^] # Re: Je me suis remis au C

      Posté par  . Évalué à 0.

      Attention à la guerre des noms !!!

      Après Firebird db vs Moz Firebird, maintenant c'est pwgen vs pwgen :-D

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.