Saltar al contenido principal

Fortaleza de Contraseña

Analiza la fortaleza de una contraseña. Devuelve una puntuación, tiempo estimado de descifrado, sugerencias prácticas y detección de filtraciones. La contraseña nunca se registra ni almacena.

Endpoint

POST /api/v1/password/strength

Autenticación

Todas las solicitudes requieren una API key enviada mediante el header X-Api-Key.

Cuerpo de la Solicitud

CampoTipoObligatorioDescripción
passwordstringContraseña a analizar
{
"password": "correct horse battery staple"
}

Respuesta

{
"score": 4,
"crackTimeDisplay": "centuries",
"crackTimeSeconds": 1.5768e16,
"guesses": 1.578e19,
"warning": "",
"suggestions": [],
"breached": false,
"breachCount": 0
}

Campos de la Respuesta

CampoTipoDescripción
scoreintegerPuntuación de fortaleza de 0 (más débil) a 4 (más fuerte)
crackTimeDisplaystringTiempo estimado de descifrado en formato legible
crackTimeSecondsnumberTiempo estimado de descifrado en segundos (ataque offline)
guessesnumberNúmero estimado de intentos requeridos
warningstringMensaje de advertencia si la contraseña tiene una debilidad conocida
suggestionsarrayLista de sugerencias para mejorar la contraseña
breachedbooleanSi la contraseña ha aparecido en filtraciones de datos conocidas (vía HIBP)
breachCountintegerNúmero de veces que la contraseña fue encontrada en filtraciones (0 si no fue filtrada)

Valores de Puntuación

PuntuaciónSignificadoDescripción
0Muy débilTrivialmente adivinable -- contraseñas comunes, patrones frecuentes
1DébilAún muy adivinable -- protección solo contra ataques limitados
2AceptableAlgo adivinable -- protección moderada
3FuerteDifícilmente adivinable -- buena protección
4Muy fuerteMuy difícilmente adivinable -- excelente protección

Detección de Filtraciones

La verificación de filtraciones utiliza la API de contraseñas de Have I Been Pwned con k-anonymity. Solo los primeros 5 caracteres del hash SHA-1 se envían a la API -- la contraseña completa nunca sale del servidor. Un resultado breached: true significa que la contraseña ha aparecido en al menos una filtración de datos conocida y no debería utilizarse.

Ejemplo

curl -X POST \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"password": "correct horse battery staple"}' \
"https://api.iqxlookup.neivi.es/api/v1/password/strength"

Notas

  • Las contraseñas se analizan en memoria y nunca se persisten ni registran
  • La puntuación considera patrones comunes, palabras de diccionario, secuencias de teclado, caracteres repetidos y sustituciones l33t
  • La estimación de tiempo de descifrado asume un escenario de ataque offline sin limitación de intentos