Generador de números aleatorios
Elija números aleatorios entre cualquier min y max. Salida entero o decimal, con o sin duplicados. Navegador solo, utiliza aleatoriedad estrofada criptográficamente.
min=1, max=100 → 47
Elija números aleatorios entre cualquier min y max. Salida entero o decimal, con o sin duplicados. Navegador solo, utiliza aleatoriedad estrofada criptográficamente.
min=1, max=100 → 47
Genera números aleatorios entre un valor mínimo y máximo, utilizando el navegador crypto.getRandomValues para la aleatoriedad criptográficamente fuerte — no predecible como Math.random.
El comportamiento predeterminado devuelve 10 enteros entre 1 y 100. Útil para rollos, sorteos, muestreo y cualquier lugar que necesite una opción "trualmente aleatoria" defensible.
Elija un número ganador de su lista de participantes (1 a N). Cryptographically random; defensible si alguien pregunta elija.
Rodar uno o muchos dados de cualquier cuenta de cara. 1–6 para d6, 1–20 para d20, 1–100 para percentil.
Escoja filas al azar de N de una lista de M para un cheque de punto rápido o pase de QA.
Aleatorio-evento desencadena, rollos de daño, gotas de botín — cualquier lógica del juego que necesite un rollo.
Generar IDs, precios o cantidades aleatorias para los datos de prueba de QA — mucho más rápido que escribir números falsos a mano.
La herramienta utiliza la API Web Crypto. crypto.getRandomValues() para generar valores aleatorios criptográficos fuertes. Bajo la capucha, dibuja números enteros de 32 bits de la CSPRNG del sistema operativo (por ejemplo, /dev/urandom para la salida más alta, mapea el valor bruto de 32 bits al rango solicitado mediante la reducción del modulo, rechazando los valores fuera de rango para eliminar el sesgo. Para la producción decimal, divide en 2^32 para producir un flotador uniforme en [0,1), luego escala al intervalo deseado. Esto evita el generador lineal congruencial predecible utilizado por Math.random().
La herramienta nunca semillas; cada llamada tira de la entropía fresca. La prevención duplicada se ejecuta lado cliente por almacenar números generados en un Set y descartar colisiones hasta que se cueste el recuento solicitado (prácticamente limitado por el tamaño del rango). Todo el cálculo ocurre en el navegador; no se envían datos sobre la red.
¿Cómo se acumula este generador basado en el navegador contra alternativas programáticas comunes?
| esta herramienta | Módulo aleatorio de Python | Hoja de cálculo (RAND) | |
|---|---|---|---|
| fuente de aleatoriedad | criptográfico (crypto.getRandomValues) | Mersenne Twister (predecible) | PRNG específico de hoja de cálculo (a menudo lineal congruencial) |
| Entero/decimal | Ambos, con decimales configurables | randint() para números enteros, uniforme() para decimales | RAND() sólo devuelve decimales; RANDBETWEEN() para enteros |
| Manejo duplicado | Unicidad forzada opcional del lado del cliente | Codificación manual (muestra() o bucles while) | Sin incorporado; requiere arrastre y verificación manual |
| Privacidad y fuera de línea | Totalmente fuera de línea, sin llamadas de red | El script se ejecuta localmente, pero se debe confiar en el código | La hoja de cálculo en línea envía datos al servidor |
El concepto de generar números aleatorios se remonta mecánicamente a dados en antigüedad (3000 BCE). En el cálculo, John von Neumann propuso el método Middle-Square en 1946, pero los generadores de números pseudo-randomésticos modernos (CSPRNGs) de seguridad criptográfica (CSPRNG) surgieron en los años 1990 con algoritmos como Yarrow (1999) y Fortuna. Math.random() que, en la mayoría de los motores, utiliza un PRNG no criptográfico como xorshift128+.
se utiliza crypto.getRandomValues — la fuente criptográficamente segura del navegador. Adecuado para sorteos y otros sorteos de alta toma.
Por defecto, sí — cada sorteo es independiente, por lo que los duplicados son posibles. Para elegir números únicos de un rango, generar más de lo que necesita y dedupe con Eliminar líneas duplicadas.
El predeterminado es solo entero. Para los decimales, multiplica tus límites y divide la salida (por ejemplo, min=0, max=10000, y luego divide por 100 en tu cabeza).
Indistinguible para cualquier propósito práctico. La aleatoriedad criptográfica es al menos tan justa como cualquier muerte física o moneda que pueda rodar.