Entropie d’un mot de passe : bits et temps de cassage
Ce calculateur transforme les paramètres d’un générateur de mots de passe en estimation théorique transparente.
Lancer gratuitement
Indiquez la longueur, les jeux disponibles à chaque position et le nombre d’essais par seconde. Le résultat présente la taille du jeu, l’entropie en bits, le nombre moyen d’essais et un ordre de grandeur du temps de cassage. Il convient aux secrets générés uniformément au hasard, et non aux mots mémorisables, aux identifiants réutilisés ou aux habitudes humaines prévisibles.
Comprendre la valeur d’entropie
Le calcul suppose que chaque position est choisie indépendamment et uniformément dans un jeu combiné. Avec 26 minuscules et douze positions, il existe 26 puissance douze chaînes. L’entropie est le logarithme en base deux de cet espace et l’exprime en décisions binaires équivalentes. Ajouter des catégories agrandit le jeu ; ajouter des positions multiplie encore les possibilités. Cette valeur décrit la méthode de génération, pas l’apparence du résultat. Un choix humain peut contenir majuscule, chiffre et symbole tout en suivant un motif évident. Employez donc cette estimation seulement lorsque les jeux déclarés représentent un vrai tirage aléatoire à chaque position. Pour une création humaine, préférez une analyse tenant compte des dictionnaires. Tout mot de passe divulgué ou réutilisé doit être remplacé, quel que soit son nombre de bits.
Interpréter le temps de cassage
Le temps provient du même espace de recherche et du débit d’essais fourni. Une recherche exhaustive trouve en moyenne une cible uniforme à mi-parcours ; le calcul divise donc l’espace total par deux, puis par le débit. La réponse donne une notation scientifique et une formule volontairement approximative. Il s’agit d’un ordre de grandeur, jamais d’une garantie. Le débit réel dépend du stockage, du hachage, du matériel, du budget et du caractère en ligne ou hors ligne de l’attaque. Un service en ligne limite généralement les tentatives, tandis qu’un hachage rapide volé autorise un débit considérable. Comparez plusieurs scénarios en modifiant cette valeur et conservez toujours l’hypothèse avec le résultat.
Choisir les jeux sans double comptage
Sélectionnez minuscules, majuscules, chiffres ou symboles si ces jeux correspondent au générateur. Leurs tailles sont 26, 26, 10 et 32 ; un nom répété ne compte qu’une fois. Pour un autre alphabet, choisissez uniquement le jeu personnalisé et indiquez son nombre exact de caractères distincts. Cette séparation évite les chevauchements. Le calcul suppose que chaque caractère déclaré peut occuper chaque position avec la même probabilité. Exiger exactement un chiffre, interdire un symbole au début ou pondérer certains signes produit un espace différent. L’outil ne reçoit pas le mot de passe : vous pouvez donc documenter une politique sans révéler le secret. Chaque appel API réussi coûte $0.002. Archivez longueur, définition du jeu et débit afin que le calcul soit reproductible.
Cas d’usage
Réviser une politique aléatoire
Comparez longueurs et jeux autorisés avec un débit explicite avant de configurer un générateur.
Documenter des secrets de service
Consignez la robustesse théorique d’identifiants automatiques sans transmettre les secrets.
Comparer des attaques hors ligne
Testez la même recette à plusieurs débits pour illustrer l’effet du hachage.
Questions fréquentes
Quelle formule est utilisée ?
L’entropie vaut la longueur multipliée par le logarithme en base deux de la taille du jeu ; la moyenne vaut la moitié de l’espace.
Un vrai mot de passe est-il analysé ?
Non. Seules la longueur et la définition des jeux sont nécessaires ; le secret reste privé.
Puis-je évaluer un choix humain ?
Pas fiablement : les mots et motifs humains violent l’hypothèse uniforme. Préférez une analyse par dictionnaire.
Pourquoi prendre la moitié de l’espace ?
Dans une recherche exhaustive uniforme, la cible est trouvée en moyenne à mi-parcours.
Quel est le prix d’un appel API ?
Un appel réussi coûte $0.002. Le navigateur peut effectuer localement le même calcul déterministe.
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-entropy-estimate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"length":16,"character_sets":["lowercase","uppercase","digits","symbols"]}'const res = await fetch("https://api.kit.forhosting.com/security/password-entropy-estimate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"length": 16,
"character_sets": [
"lowercase",
"uppercase",
"digits",
"symbols"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/security/password-entropy-estimate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"length": 16,
"character_sets": [
"lowercase",
"uppercase",
"digits",
"symbols"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/security/password-entropy-estimate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"length":16,"character_sets":["lowercase","uppercase","digits","symbols"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"length":16,"character_sets":["lowercase","uppercase","digits","symbols"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/security/password-entropy-estimate", 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
{
"length": 16,
"character_sets": [
"lowercase",
"uppercase",
"digits",
"symbols"
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "security.password_entropy_estimate",
"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. |