Generador aleatorio con semilla
Este generador de números aleatorios con semilla devuelve un entero o un valor de coma flotante pseudoaleatorio entre el mínimo y el máximo indicados, incluidos ambos límites.
Ejecutar — gratis
Si más adelante proporciona el mismo rango, semilla y modo, obtendrá exactamente el mismo resultado. Esta reproducibilidad fiable resulta útil para datos de prueba, simulaciones, juegos, demostraciones y procesos en los que una elección aparentemente aleatoria deba repetirse o auditarse. No utiliza aleatoriedad del sistema, servicios de red ni la hora actual.
Genere un número que pueda reproducir
Las herramientas aleatorias habituales son prácticas hasta que se necesita explicar o repetir un resultado. Este generador considera la semilla parte de la entrada, por lo que el valor generado se convierte en un dato reproducible y no en un accidente pasajero. Introduzca un mínimo inclusivo, un máximo inclusivo y una semilla que sea un entero seguro. Mantenga el modo entero predeterminado si necesita un número completo, como un índice, una puntuación, una cantidad o un caso de prueba. Seleccione el modo decimal cuando corresponda un valor fraccionario. La respuesta repite los límites efectivos, la semilla y el modo junto al valor generado, de modo que el resultado guardado se explica por sí mismo. Si envía las mismas cuatro entradas desde un navegador, script, tarea de CI o cliente de API, el cálculo sigue exactamente la misma ruta aritmética. Cuando un fallo depende de una entrada generada, guarde la semilla con el informe, repita después la ejecución y examine el mismo caso sin conservar un estado oculto.
Comprenda los límites inclusivos y la validación
Ambos límites son inclusivos. En modo entero, un rango de 1 a 6 puede devolver 1, 6 o cualquier entero intermedio. Este modo exige que el mínimo y el máximo sean enteros seguros, porque los números de JavaScript fuera de ese intervalo exacto pueden perder unidades sin avisar y volver engañoso un límite prometido. El modo decimal acepta límites numéricos finitos y obtiene una fracción reproducible a partir de 53 bits mezclados de la semilla; la normalización admite los dos extremos. Si el mínimo coincide con el máximo, se devuelve ese valor en cualquier modo. El generador rechaza valores ausentes, valores no finitos como Infinity, semillas inseguras, modos no admitidos y límites fraccionarios en modo entero. También informa de un error de entrada cuando el mínimo supera al máximo, sin intercambiarlos en silencio. En automatización, este rechazo explícito permite detectar una configuración invertida en vez de producir una salida verosímil para un rango no deseado.
Use semillas para repetir, no para proteger
Un generador determinista es ideal cuando el objetivo es la repetibilidad. Puede emplearlo para elegir un ejemplo estable en documentación, repartir datos de prueba dentro de un conjunto limitado, crear situaciones de juego repetibles o introducir variaciones controladas en una simulación. Semillas diferentes suelen producir valores mezclados distintos, mientras que reutilizar una semilla conserva el resultado para el mismo rango y modo. El algoritmo realiza localmente una mezcla fija de enteros de 64 bits y nunca consulta el reloj, la entropía del sistema operativo, almacenamiento externo ni un servicio remoto. Esa independencia estabiliza los resultados y agiliza cada solicitud. También implica que esta capacidad no es un generador de seguridad. Quien conozca el algoritmo y la semilla puede reproducir la salida; no lo use para contraseñas, tokens de autenticación, claves de cifrado, sorteos regulados ni juegos con adversarios. Para esos fines, elija una fuente de entropía criptográficamente segura con controles adecuados. Aquí la semilla es una clave de repetición, no un secreto.
Qué puede hacer con ella
Repita un caso de prueba generado
Guarde la semilla con la prueba fallida y regenere la misma entrada acotada durante la depuración.
Cree datos de demostración estables
Aporte variaciones realistas sin dejar de reproducir capturas, documentación y compilaciones.
Ejecute simulaciones repetibles
Asigne semillas conocidas a los escenarios para comparar y reproducir los resultados de forma independiente.
Preguntas frecuentes
¿Cuánto cuesta?
Cada solicitud de API cuesta $0.002. También puede ejecutar la capacidad en su navegador.
¿Se incluyen el mínimo y el máximo?
Sí. Ambos modos definen un rango inclusivo, y dos límites iguales devuelven exactamente ese valor.
¿La misma semilla produce siempre el mismo resultado?
Sí, siempre que la semilla, el mínimo, el máximo y el modo permanezcan iguales.
¿Qué ocurre si el mínimo supera al máximo?
La solicitud falla con un error de entrada no válida. Los límites nunca se reordenan en silencio.
¿Puedo usar el resultado para contraseñas o tokens de seguridad?
No. El algoritmo es determinista y reproducible, no criptográficamente seguro.
¿En qué se diferencian los modos entero y decimal?
El modo entero devuelve un entero seguro; el decimal devuelve un número finito de coma flotante dentro de los límites.
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/prob/random-number-range \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"min":10,"max":100,"seed":2026}'const res = await fetch("https://api.kit.forhosting.com/prob/random-number-range", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"min": 10,
"max": 100,
"seed": 2026
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/prob/random-number-range",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"min": 10,
"max": 100,
"seed": 2026
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/prob/random-number-range", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"min":10,"max":100,"seed":2026}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"min":10,"max":100,"seed":2026}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/prob/random-number-range", 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
{
"min": 10,
"max": 100,
"seed": 2026
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "prob.random_number_range",
"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. |