Projet: programme création de mot de passe

@Alynx je pense que tu pourrais créer un fichier séparé regroupant toutes tes fonctions,et un autre contenant le programme principal.
Ex.
Ton fichier de base se nomme A,tu crée un autre fichier B contenant tes fonctions puis au début de A tu fait un
from B import *
En considérant que tes deux fichier sont dans le même dossier.

Bonjour,

Même si je manque un peu de temps pour ré-écrire le programme, depuis, j’ai changé d’idée sur « l’algorithme » du programme.

Ma première idée, c’était de « mélanger/fusionner » les mots ensembles, afin de générer des mots de passe qui n’existent dans aucun dictionnaire.

Maintenant, je pense plutôt utiliser une méthode de permutation des lettres selon une séquence pseudo-aléatoire. Mais c’est vrai que même sur l’algorithme en lui-même, j’ai un doute sur un point.

Voici, les grandes lignes de l’algorithme prévu.

  • point de départ: une « matrice » constituée de 16 listes de chiffres de 0 à 25 (symbolisant potentiellement les lettres de l’alphabet). La liste d’index 0 est dans l’ordre naturel de comptage.
  • J’ai déjà écris et testé une fonction qui permet de générer ce type de « matrice »
  • une « matrice » considérée comme une « référence » sera intégrée dans le programme.
  • à partir du ou d’un des mots choisis par l’utilisateur, le programme choisi une liste de permutation. 16 listes, donc c’est un chiffre hexadécimal (de 1 bit). Les « mots » entrés sont « alphanumériques », j’ai décidé de les considérer comme des « chiffres en base 36 ». Je passe par une étape intermédiaire de conversion en chiffre décimaux, pour faciliter le débugage.
  • pour choisir ma liste, il me faut donc un « mot/chiffre » hexadécimal de 1 bit à partir d’un « mot/chiffre » beaucoup plus grand. Ma première idée, c’est de faire une addition (je sais pas/plus comment ça s’appelle) comme quand on cherche à savoir si un chiffre est divisible par 3 ou par 9 (genre 1234 => 1+2+3+4= 10).
  • cette méthode me permet d’intégrer un renforcement supplémentaire, à partir d’un mot dont la casse serait « tout en majuscule » ou « tout en minuscule » (donc facile à retenir) je peux générer un chiffre binaire pseudo-aléatoire et changer la case du mot généré en sortie selon ce chiffre binaire.

Je pense qu’avec tout ça, même un keylogger (si on fait un copié collé depuis la fenêtre Python) aurait du mal à casser un mot de passe généré de la sorte.

Bonjour,

Bon, ce programme est fini depuis longtemps, même si je ne m’en sert presque jamais…

J’ai essayé de poster le code…
mais la mise en page est toujours difficile sur le forum et avec presque 500 lignes de code à poster… Désolé, j’ai pas eu le courage de refaire la mise en page…