Genere una frase de contraseña memorable con semilla
Este generador convierte una semilla privada en una secuencia repetible de palabras sencillas en inglés.
Ejecutar — gratis
Usted elige al menos tres palabras y un separador, y recibe tanto la frase terminada como cada palabra por separado. Como el proceso es determinista, una misma semilla, cantidad y separador siempre ofrecen el mismo resultado en los entornos compatibles. Resulta útil para pruebas reproducibles, procesos controlados de recuperación y sistemas que necesitan derivar una frase legible sin almacenarla. La semilla sigue siendo el secreto esencial: quien pueda adivinarla podrá reproducir el resultado.
Cómo funciona la generación determinista
Un generador convencional extrae caracteres aleatorios nuevos en cada ejecución, por lo que repetir una solicitud entrega una respuesta distinta. Esta herramienta persigue otro objetivo. Convierte la semilla proporcionada en un estado interno fijo, lo hace avanzar una vez por cada palabra solicitada y asigna cada valor a una entrada de una lista cuidada de 256 palabras inglesas distintas en minúsculas. Después une las palabras elegidas con el separador indicado por usted. No intervienen solicitudes de red, el reloj del sistema, una fuente aleatoria del entorno ni un diccionario externo que pueda cambiar. Por ello, entradas idénticas reproducen exactamente la misma frase, incluidos el orden y la puntuación. La respuesta también incorpora las palabras como una lista, práctica para mostrarlas, pronunciarlas o validarlas por separado. La cantidad debe ser un entero entre 3 y 24, la semilla no puede estar vacía y el separador debe tener entre uno y tres caracteres. Estos límites mantienen un funcionamiento previsible y acotado.
Elija una semilla con seguridad adecuada
El determinismo es útil, pero modifica el modelo de seguridad. Reproducir la frase será tan difícil como adivinar la semilla. Un nombre de usuario público, un correo, una fecha de nacimiento, el nombre de un proyecto o una cita conocida no son semillas secretas apropiadas, aunque las palabras resultantes parezcan inusuales. Un atacante puede ensayar valores probables con el mismo algoritmo y comparar la frase derivada. Para un uso sensible, parta de material creado y custodiado por un proceso fiable de gestión de secretos y manténgalo separado de la frase generada. Aumentar la cantidad de palabras alarga el resultado visible, pero no corrige una semilla débil o expuesta. La herramienta tampoco añade azar nuevo en cada ejecución, rota credenciales, comprueba políticas de contraseñas ni protege la semilla después de enviarla a su propia aplicación. Considere el resultado una derivación determinista, no una prueba de entropía. Si necesita una credencial nueva e independiente cada vez, utilice un generador criptográficamente seguro de contraseñas aleatorias o Diceware.
Aproveche la repetibilidad sin sorpresas
Una frase derivada de una semilla ayuda cuando pruebas, datos de ejemplo, herramientas sin conexión o procedimientos de recuperación deben coincidir en un valor legible sin intercambiarlo directamente. Documente junto al flujo la cantidad exacta de palabras, el separador, la versión del algoritmo y las reglas de manejo de la semilla. Cambiar cualquier entrada modifica la frase; cambiar solo el separador conserva las palabras elegidas, pero altera la cadena final. Antes de usarla como credencial, confirme que el destino admite su longitud y puntuación. Algunos sistemas rechazan espacios, separadores repetidos o valores largos aunque sean válidos. No coloque la semilla en URL, analítica, control de versiones, capturas, solicitudes de soporte ni registros comunes. En automatizaciones, use el campo de frase cuando necesite una sola cadena y la lista de palabras cuando el código posterior requiera componentes estructurados. Cada solicitud por API cuesta $0.002. Para pruebas de regresión puede fijar una semilla conocida y no secreta, pero mantenga las semillas de producción fuera del código y la documentación.
Qué puede hacer con ella
Credenciales de prueba reproducibles
Derive valores estables y legibles desde semillas de prueba expresamente no secretas sin guardar numerosas cadenas.
Frases de recuperación controladas
Recree una frase memorable cuando un proceso autorizado pueda aportar de forma segura la misma semilla y configuración.
Resultado coherente local y remoto
Obtenga la misma secuencia en el navegador y mediante API sin depender de un servicio aleatorio compartido.
Preguntas frecuentes
¿La frase generada es aleatoria?
No. Es determinista: la misma semilla y cantidad seleccionan las mismas palabras. Use un generador seguro si necesita una credencial nueva e independiente.
¿Qué ocurre si solicita menos de tres palabras?
La solicitud falla por entrada no válida. La cantidad admitida va de 3 a 24 palabras.
¿Puede utilizar un espacio como separador?
Sí. El separador puede ser cualquier cadena de uno a tres caracteres, incluido un solo espacio.
¿Una frase más larga compensa una semilla débil?
No. Quien adivine la semilla puede reproducir cualquier cantidad solicitada. Proteja la semilla y evite que sea predecible.
¿Funcionan igual las mismas entradas en distintos entornos?
Sí. El algoritmo y la lista están fijados en la capacidad y no dependen de red, reloj ni azar.
¿Cuánto cuesta una solicitud por API?
Cada solicitud por API cuesta $0.002. El navegador puede ejecutar localmente la misma lógica pura.
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/passphrase-generate-seeded \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"word_count":6,"seed":"correct horse workshop 2026"}'const res = await fetch("https://api.kit.forhosting.com/security/passphrase-generate-seeded", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"word_count": 6,
"seed": "correct horse workshop 2026"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/security/passphrase-generate-seeded",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"word_count": 6,
"seed": "correct horse workshop 2026"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/security/passphrase-generate-seeded", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"word_count":6,"seed":"correct horse workshop 2026"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"word_count":6,"seed":"correct horse workshop 2026"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/security/passphrase-generate-seeded", 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
{
"word_count": 6,
"seed": "correct horse workshop 2026"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "security.passphrase_generate_seeded",
"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. |