Entropía de contraseñas: bits y tiempo de descifrado
Esta calculadora convierte la configuración de un generador de contraseñas en una estimación teórica clara.
Ejecutar — gratis
Indique la longitud, los juegos de caracteres disponibles en cada posición y la cantidad de intentos por segundo del atacante. El resultado muestra el tamaño del conjunto, la entropía en bits, los intentos medios y un orden de magnitud del tiempo de descifrado. Está pensada para secretos generados uniformemente al azar, no para evaluar palabras memorizables, credenciales reutilizadas ni patrones humanos previsibles.
Qué significa la cifra de entropía
La calculadora supone que cada posición se elige de forma independiente y uniforme dentro de un conjunto combinado. Si un generador utiliza 26 letras minúsculas y produce doce caracteres, existen 26 elevado a doce cadenas posibles. La entropía es el logaritmo en base dos de ese espacio y expresa cuántas decisiones binarias equivalentes contiene. Incorporar tipos de caracteres amplía el conjunto; aumentar la longitud multiplica otra vez las posibilidades. El valor describe el proceso de generación, no el aspecto de una contraseña terminada. Una cadena creada por una persona puede incluir mayúsculas, números y símbolos y, aun así, seguir una pauta muy previsible. Utilice esta estimación cuando los conjuntos declarados representen una selección realmente aleatoria en cada posición. Para elecciones humanas conviene un análisis con diccionarios. Una contraseña filtrada o reutilizada debe cambiarse independientemente de sus bits calculados.
Cómo interpretar el tiempo de descifrado
El tiempo deriva del mismo espacio de búsqueda y de la velocidad de intentos indicada. En una búsqueda exhaustiva, un objetivo uniforme aparece en promedio tras recorrer la mitad de las combinaciones; por eso se divide el espacio completo entre dos y después entre la tasa. La respuesta incluye notación científica y una frase aproximada, como decenas de años o cientos de millones de años. Es un orden de magnitud, no una garantía. La velocidad real depende del almacenamiento, el algoritmo hash, el hardware, el presupuesto y de si el ataque es en línea o contra una base robada. Los servicios en línea suelen limitar intentos, mientras que un hash rápido puede permitir tasas enormes sin conexión. Compare escenarios modificando la tasa y documente siempre ese supuesto junto al resultado.
Cómo elegir los conjuntos sin contarlos dos veces
Seleccione minúsculas, mayúsculas, dígitos o símbolos cuando coincidan con el generador. Sus tamaños son 26, 26, 10 y 32; los nombres repetidos solo cuentan una vez. Para otro alfabeto, seleccione únicamente el conjunto personalizado e indique el número exacto de caracteres distintos disponibles en cada posición. Separarlo evita solapamientos, como contar letras minúsculas en un conjunto estándar y también en uno personalizado. El cálculo presupone que todos los caracteres declarados pueden aparecer en cualquier posición con igual probabilidad. Reglas como exigir exactamente un dígito, prohibir símbolos al principio o ponderar algunos caracteres generan otro espacio y no quedan representadas. La herramienta no recibe ni inspecciona la contraseña, por lo que permite documentar una política sin revelar el secreto. Cada solicitud correcta de la API cuesta $0.002. Conserve longitud, conjunto y tasa con el resultado para que otra persona pueda reproducirlo.
Qué puede hacer con ella
Revisar una política de contraseñas aleatorias
Compare longitudes y conjuntos permitidos con una tasa de ataque explícita antes de definir el generador.
Documentar secretos de servicios
Registre la fortaleza teórica de credenciales generadas por máquinas sin enviar las credenciales.
Comparar ataques sin conexión
Pruebe una misma configuración con varias tasas para mostrar el efecto del sistema hash.
Preguntas frecuentes
¿Qué fórmula utiliza la calculadora?
La entropía es la longitud multiplicada por el logaritmo en base dos del tamaño del conjunto. Los intentos medios equivalen a la mitad del espacio.
¿Inspecciona una contraseña real?
No. Solo recibe longitud y conjuntos, de modo que no es necesario facilitar el secreto.
¿Sirve para una contraseña elegida por una persona?
No de forma fiable. Las elecciones humanas contienen palabras y patrones; para ellas utilice un análisis basado en diccionarios.
¿Por qué se usa la mitad del espacio?
En una búsqueda exhaustiva de un objetivo uniforme, el punto esperado de hallazgo está a mitad de las combinaciones.
¿Cuánto cuesta una solicitud API?
Una solicitud correcta cuesta $0.002. El navegador puede ejecutar localmente la misma aritmética determinista.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su 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)Ejemplo de solicitud
{
"length": 16,
"character_sets": [
"lowercase",
"uppercase",
"digits",
"symbols"
]
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "security.password_entropy_estimate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |