Testeur de robustesse de mot de passe et code de jauge
Testeur de robustesse de mot de passe
Testeur de mot de passe + code de jauge de force pour formulaires d'inscription | We.Inc
Vérifiez à quel point un mot de passe est devinable, entièrement dans votre navigateur, avec des estimations du temps de cassage et les motifs qui l'affaiblissent. Copiez ensuite une jauge de force en React ou en JavaScript simple, avec un bouton pour afficher le mot de passe.
Un mot de passe robuste est un mot de passe qu'un attaquant ne peut pas deviner en un nombre raisonnable d'essais. La longueur compte le plus, puis le fait d'éviter les mots de passe courants, les mots du dictionnaire, les suites de touches et les dates. Tapez un mot de passe ci-dessous pour obtenir une estimation hors ligne du nombre d'essais et du temps de cassage, puis copiez une jauge de force prête à l'emploi avec un bouton afficher pour votre propre formulaire d'inscription.
Ce que les recommandations actuelles du NIST demandent aux formulaires d'inscription
Règle
NIST SP 800-63B
Longueur minimale
15 caractères quand le mot de passe est le seul facteur ; 8 quand il est utilisé avec un autre facteur
Longueur maximale
Autoriser au moins 64 caractères
Règles de composition (doit contenir un symbole...)
Ne pas les imposer
Changements périodiques forcés
Ne pas les exiger ; forcer un changement seulement après une compromission
Liste de blocage
Refuser les mots de passe courants, prévisibles ou ayant fuité
Collage et gestionnaires de mots de passe
Les autoriser
Le testeur découpe votre mot de passe en morceaux qu'un attaquant essaierait en premier et multiplie le nombre d'essais nécessaires pour chacun. Rien de ce que vous tapez ne quitte cette page. En dessous se trouvent deux jauges de force à coller dans un formulaire d'inscription, l'une pour React avec Tailwind et l'autre en JavaScript simple.
Tapez un mot de passe. L'estimation se met à jour à chaque touche et ne quitte jamais votre navigateur.
Lisez le score, de très faible à très fort, le nombre estimé d'essais et le temps de cassage dans quatre scénarios d'attaque.
Voyez quelles parties ont été reconnues comme mots de passe courants, mots, suites de touches, séquences, répétitions ou années, avec un avertissement pour chacune.
Copiez la jauge React ou JavaScript simple pour votre propre formulaire. Les deux incluent un bouton afficher le mot de passe et annoncent les changements aux lecteurs d'écran.
Trois ou quatre mots aléatoires à la suite valent mieux qu'un court mélange de symboles, et ils sont bien plus faciles à taper sur un téléphone.
Utilisez un gestionnaire de mots de passe et laissez-le les générer. Le meilleur mot de passe est celui que vous n'avez jamais à retenir.
Sur votre propre formulaire d'inscription, vérifiez les nouveaux mots de passe côté serveur par rapport à une liste de fuites. Have I Been Pwned propose une API par plage gratuite qui ne reçoit jamais le hash complet du mot de passe.
Mettez autocomplete="new-password" sur les champs d'inscription et autocomplete="current-password" sur les champs de connexion pour que les gestionnaires de mots de passe proposent la bonne action.
Questions fréquentes
Est-il sûr de taper mon vrai mot de passe ici ?
Le test s'exécute entièrement dans votre navigateur et la page n'envoie aucune requête réseau avec ce que vous tapez. Malgré tout, la meilleure habitude est de tester un mot de passe de même forme que le vrai, pas le vrai lui-même.
Quelle est la précision du temps de cassage ?
C'est une estimation. Le testeur utilise de courtes listes intégrées de mots de passe et de mots courants, donc un mot de passe construit à partir d'un mot moins courant peut obtenir ici un score plus élevé qu'il ne le mérite. Les quatre scénarios supposent des vitesses d'attaque typiques, d'un formulaire de connexion limité en débit à une base de données volée avec un hash rapide. Les vrais attaquants utilisent aussi des listes de mots de passe ayant fuité et des règles bien plus volumineuses que tout ce qu'une page web peut embarquer.
Mon formulaire d'inscription doit-il exiger un symbole et un chiffre ?
Les recommandations actuelles du NIST disent que non. Les règles de composition poussent les gens vers des motifs prévisibles comme Password1!, qui respectent la règle mais se devinent quand même. Une longueur minimale associée à une vérification contre les mots de passe courants et ayant fuité apporte davantage de sécurité.
Pourquoi mon formulaire a-t-il besoin d'un bouton afficher le mot de passe ?
Les champs masqués provoquent des fautes de frappe, surtout sur téléphone, et les fautes de frappe mènent à des blocages et à des réinitialisations de mot de passe. Un bouton bascule permet de vérifier ce que l'on a tapé. Utilisez un vrai bouton avec une étiquette claire et faites alterner le type du champ entre password et text.
Le code de la jauge vérifie-t-il les mots de passe dans les fuites de données ?
Non. Les jauges évaluent la longueur, la variété et quelques motifs évidents dans le navigateur pour donner un retour rapide. Le vrai contrôle doit se faire sur votre serveur : imposez-y la longueur minimale et refusez les mots de passe présents dans les listes de fuites.
Pourquoi la longueur l'emporte sur la complexité
Chaque caractère supplémentaire multiplie le nombre de mots de passe possibles. Ajouter une lettre minuscule aléatoire le multiplie par 26, alors que remplacer un a par @ dans un mot n'ajoute presque rien, car les attaquants appliquent ces substitutions automatiquement.
C'est pourquoi l'estimation récompense les longues phrases de passe. Quatre mots sans rapport entre eux peuvent atteindre la catégorie la plus forte tout en restant faciles à taper, à condition de ne pas former une expression célèbre ou des paroles de chanson.
Construire une jauge digne de confiance
Une bonne jauge donne un retour qui correspond exactement aux règles du serveur. Si la jauge affiche fort et que le serveur refuse ensuite le mot de passe, les gens cessent de faire confiance aux deux. Gardez les règles en un seul endroit et affichez les mêmes messages des deux côtés.
Annoncez les changements poliment avec aria-live pour que les utilisateurs de lecteurs d'écran entendent le résultat sans perdre leur position, et ne comptez jamais sur la couleur seule : associez la barre à une étiquette textuelle comme Faible ou Fort.
Jauge de force React + Tailwind avec bouton afficher
Un champ mot de passe contrôlé avec un bouton afficher et masquer, une barre en quatre paliers, une liste de règles et une étiquette textuelle en direct pour les lecteurs d'écran.
Jauge en HTML et JavaScript simples
Le même principe sans framework. Collez-la dans n'importe quelle page ; le script ne touche que les éléments situés dans le conteneur.
Très faible
Faible
Moyen
Fort
Très fort
mot de passe courant
mot courant
suite de touches
caractères aléatoires
Contient l'un des mots de passe les plus courants. Les attaquants les essaient en premier.
Contient un mot courant. Remplacer des lettres par des symboles (a par @) n'aide presque pas.
Contient une suite de touches voisines comme azerty ou 1qaz.
Contient une séquence comme abc ou 1234.
Contient des caractères répétés.
Contient une année. Les années de naissance et les années récentes sont devinées très tôt.
Moins de 15 caractères. La longueur apporte plus de robustesse que les symboles.
En ligne, avec limitation (100 essais par heure)
En ligne, sans limitation (10 essais par seconde)
Base de données volée, hash lent comme bcrypt (10 mille par seconde)
Base de données volée, hash rapide comme MD5 (10 milliards par seconde)
Tester un mot de passe
Mot de passe (reste sur cet appareil)
Masquer
Afficher
environ 10^{n} essais
Temps moyen pour le deviner
Commencez à taper pour voir l'estimation.
Code de la jauge de force
Deux jauges à coller dans un formulaire d'inscription. Gardez les règles du serveur identiques à celles de la jauge.
Essayez la jauge en JavaScript simple
Jauge de mot de passe fonctionnelle en JavaScript simple