Vérifiez les motifs faibles courants d’un mot de passe
Un mot de passe peut sembler complexe tout en suivant un motif que les outils de devinette essaient très tôt.
Lancer gratuitement
Ce vérificateur repère plusieurs raccourcis fréquents : suites de touches voisines, caractères ou blocs de texte répétés et mots connus masqués par des substitutions, comme le chiffre zéro à la place de la lettre o. Il effectue une analyse locale déterministe et ne consulte aucune véritable base de données de fuites. Le résultat explique chaque motif détecté sans présenter l’absence de correspondance comme une preuve de sécurité.
Comprenez la portée de la recherche de motifs courants
Ce vérificateur cible trois familles de choix souvent employés pour rendre un mot de passe mémorisable tout en lui donnant une apparence complexe. Une suite de clavier suit des touches consécutives, par exemple sur la rangée des chiffres ou une rangée de lettres QWERTY. La répétition comprend un caractère saisi au moins trois fois ainsi que des blocs de plusieurs caractères immédiatement recopiés. Le contrôle par dictionnaire reconvertit les substitutions familières en lettres, retire les séparateurs et recherche un petit ensemble intégré de mots que les attaquants privilégient couramment. Remplacer un a par une arobase ou un o par un zéro ne rend donc pas un mot connu imprévisible. La sortie indique la catégorie et le fragment correspondant afin qu’une application fournisse un conseil précis plutôt qu’un refus vague. Une catégorie correspond à un risque moyen lié aux motifs ; deux catégories ou davantage donnent un risque élevé. Cette appréciation décrit uniquement les motifs pris en charge, et non la sécurité globale ou la robustesse mathématique du mot de passe.
Interprétez prudemment un résultat sans correspondance
Un résultat faible signifie qu’aucun des motifs implémentés n’a été trouvé. Il ne signifie pas que le mot de passe est robuste, unique, confidentiel ou absent des fuites historiques. Cette capacité évite délibérément les bases de données de fuites en ligne ou téléchargées ; `breach_database_checked` vaut donc toujours false. Elle n’estime pas non plus l’entropie, ne modélise pas toutes les règles d’un attaquant, ne vérifie pas la réutilisation entre comptes et n’évalue pas le système de stockage. Un nom court, un mot rare, une date ou une référence personnelle peut échapper à ces tests fixes tout en restant facile à deviner. Considérez ce résultat comme un signal ciblé au sein d’une politique à plusieurs niveaux. Privilégiez des identifiants longs et aléatoires ou des phrases réellement sans rapport, empêchez la réutilisation lorsque c’est possible, ajoutez une limitation des tentatives et une authentification multifacteur, puis utilisez une fonction moderne de dérivation pour le stockage. La recommandation associée à un résultat vierge rappelle cette limite sans délivrer de certificat trompeur. Cette lecture prudente permet aux équipes d’utiliser l’outil comme diagnostic précis plutôt que comme mesure universelle de robustesse.
Donnez un retour clair et respectueux de la confidentialité
La réponse convient aux formulaires d’inscription, écrans de changement de mot de passe, formations à la sécurité et outils locaux de politique. `common_pattern_detected` fournit une branche simple pour la logique de l’interface, tandis que `patterns` donne la catégorie, le fragment correspondant et une brève explication. L’interface peut ainsi signaler une suite de clavier ou des substitutions qui révèlent encore un mot courant. Évitez de journaliser la saisie, les fragments trouvés ou la réponse complète dans vos analyses de production, car même une partie de mot de passe reste sensible. Utilisez gratuitement la version dans le navigateur pour un retour local immédiat, ou appelez l’API pour $0.002 par requête afin d’intégrer ces règles déterministes à une application. Un mot de passe vide provoque une erreur de saisie au lieu d’un résultat à faible risque, ce qui évite de confondre un champ manquant avec un identifiant sûr. Comme l’algorithme repose sur des tables fixes sans réseau, hasard, horloge ni état partagé, des entrées identiques donnent des sorties identiques. Cette stabilité facilite les tests de politique et l’indicateur explicite relatif aux fuites garantit une présentation honnête du produit.
Cas d’usage
Expliquez un refus lors de l’inscription
Indiquez si la proposition contient une suite de clavier, une répétition ou une substitution facile à inverser, au lieu d’afficher un échec de politique inexpliqué.
Révisez les exemples de votre politique
Testez les identifiants d’exemple de vos consignes internes et retirez ceux qui ne semblent complexes qu’à cause de symboles et de chiffres prévisibles.
Ajoutez un retour local ciblé
Exécutez les mêmes contrôles déterministes dans le navigateur sans envoyer la proposition à un service de fuites ni affirmer qu’aucune correspondance historique n’existe.
Questions fréquentes
Une véritable base de mots de passe compromis est-elle interrogée ?
Non. L’algorithme applique uniquement des règles locales fixes et chaque réponse précise qu’aucune base de fuites n’a été consultée.
Quels motifs de clavier sont détectés ?
Les suites d’au moins quatre touches consécutives sont détectées dans les deux sens sur la rangée numérique QWERTY et les trois principales rangées de lettres.
Quels types de répétitions sont signalés ?
Un caractère répété au moins trois fois et les blocs de texte de deux à huit caractères immédiatement répétés sont signalés.
Un résultat faible prouve-t-il que mon mot de passe est robuste ?
Non. Il indique seulement que les familles implémentées n’ont pas été détectées ; il ne mesure ni l’entropie, ni l’unicité, ni les indices personnels, ni l’exposition aux fuites.
Que se passe-t-il si le mot de passe est vide ?
La requête échoue avec une erreur de saisie afin qu’une valeur manquante ne puisse pas être interprétée comme un résultat vierge.
Combien coûte la vérification par API ?
Chaque requête API réussie coûte $0.002. La version pour navigateur s’exécute localement sans appeler de service de fuites.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/security/password-breach-pattern-check \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"password":"P@ssw0rd123"}'const res = await fetch("https://api.kit.forhosting.com/security/password-breach-pattern-check", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"password": "P@ssw0rd123"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/security/password-breach-pattern-check",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"password": "P@ssw0rd123"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/security/password-breach-pattern-check", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"password":"P@ssw0rd123"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"password":"P@ssw0rd123"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/security/password-breach-pattern-check", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"password": "P@ssw0rd123"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "security.password_breach_pattern_check",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |