Un nouveau mot de passe vous attend ci-dessous. Changez la longueur ou les types de caractères et il se met à jour aussitôt ; copiez-le, ou prenez l’une des alternatives juste en dessous.
La longueur compte plus que les symboles
Chaque caractère ajouté multiplie le nombre de mots de passe possibles par la taille de l’alphabet. Avec les quatre types cochés, l’alphabet compte 85 caractères : chaque caractère de plus multiplie par 85 le travail de l’attaquant. Cocher les symboles ne fait passer l’alphabet que de 62 à 85, soit environ un demi-bit par caractère. Voilà pourquoi 16 minuscules (75 bits) battent 10 caractères de tous types (63 bits) : à la vitesse supposée plus bas, le long et simple tient des dizaines de milliers d’années, le court et compliqué une vingtaine.
Le temps affiché suppose dix milliards d’essais par seconde, à peu près ce que font quelques cartes graphiques contre un mot de passe stocké avec un hachage rapide comme MD5, après la fuite de la base de données d’un site. C’est le cas pessimiste, volontairement. Contre un mot de passe bien stocké (bcrypt, Argon2), la même attaque est des millions de fois plus lente, et contre une page de connexion qui se bloque après quelques essais, elle n’aboutit pas. Le chiffre est une moyenne : en moyenne, le bon essai arrive à la moitié des possibilités.
Quand vous cochez un type de caractère, chaque mot de passe d’ici en contient au moins un. La méthode courante réserve une place à chaque type, ce qui modifie les chances sans prévenir et rend certaines combinaisons plus probables que d’autres. Ce générateur tire le mot de passe entier dans l’alphabet complet et, s’il manque un type coché, le jette et recommence. Chaque mot de passe acceptable a alors exactement la même probabilité, et c’est ce qui fait de l’entropie un décompte exact et non une estimation. Les caractères viennent de crypto.getRandomValues, la source cryptographique du navigateur, avec le même rejet que le générateur de nombres aléatoires emploie contre le biais du modulo.
Les symboles excluent ^, ~, ` et ´, car sur les claviers AZERTY, allemand, espagnol et brésilien ce sont des touches mortes : en taper un demande deux frappes, et un mot de passe copié sur l’ordinateur devient autre chose une fois retapé sur le téléphone ou la télé. Les guillemets, la barre oblique inverse et l’espace sont exclus parce qu’ils cassent les formulaires et les tableurs. Et il reste une limite qu’aucun générateur ne corrige : un mot de passe robuste arrête la force brute, pas la réutilisation. Si le même mot de passe sert sur deux sites et que l’un le laisse fuiter en clair, sa longueur ne compte plus. Un mot de passe par site, rangé dans un gestionnaire de mots de passe, voilà ce qui protège vraiment.