¿Cómo usar esta herramienta?
- Introducir min, máx y cantidad — o elegir un preset como dado, moneda, Lotería 6/49, Eurojackpot o Bingo.
- Permitir o excluir duplicados, elegir orden (sorteo, ascendente, descendente).
- Pulsar «Sortear números» — el resultado aparece inmediatamente como lista, CSV o JSON. Un clic en el selector de modo conmuta entre Web Crypto y PRNG seed para reproducibilidad.
¿Qué hace distinto un buen generador de números aleatorios en 2026?
Tres cosas distinguen al azar serio del chapucero. Primero la fuente de entropía: un generador moderno extrae del pool del sistema operativo, no de un pseudoalgoritmo con estado interno corto. Segundo las matemáticas de distribución: resultados uniformemente distribuidos sobre el rango deseado, sin que los bordes estén ligeramente sobrerrepresentados. Tercero la arquitectura: todo queda local, porque los números aleatorios para aplicaciones sensibles como tokens, sales y sorteos no deben pasar por manos ajenas.
Este generador hace las tres. La fuente por defecto es la Web Crypto API, que pide al sistema operativo bytes criptográficamente seguros. El cálculo de rango usa muestreo por rechazo, una técnica estándar de la implementación aleatoria conforme a NIST. Y toda la herramienta corre pure-client — min, máx, cantidad y resultado nunca abandonan el navegador.
¿Por qué Math.random() no es adecuado para tokens y sorteos?
Math.random() no es criptográfico. El generador tiene en el motor V8 — que mueve Chrome, Edge y Node.js — un bug de estado conocido desde 2015, descrito por el equipo de ingeniería de Betable. Nick Forte y Mike Malone mostraron allí que tras unos 24 000 llamados la secuencia empieza a chocar — propiedad mortal para un casino en línea justo. Incluso la corrección posterior a xorshift128+ no hace seguro el generador: su estado queda pequeño y observable, y varios equipos de investigación han mostrado que tras pocas salidas se pueden reconstruir los valores siguientes.
Para un sorteo en un grupo de profesores, Math.random() es más que suficiente. Para un juego de quiz también. Pero para un token de sesión, una sal de contraseña, una clave de API o un boleto rápido de lotería, la fuente debe ser criptográfica. Este generador hace visible la diferencia: arriba en la barra de modo aparece «Seguro · Web Crypto», y la segunda opción «Reproducible · PRNG seed» se marca explícitamente como no segura.
¿Qué aporta el modo seed para pruebas y tutoriales?
Un seed es un valor inicial que vuelve totalmente determinista un pseudogenerador. Si se introduce el mismo seed, sale la misma secuencia. El generador usa en modo seed el algoritmo Mulberry32 — una variante PRNG de 32 bits compacta (Tommy Ettinger, 2017), de dominio público, que se ha asentado durante años en frameworks de prueba.
El modo seed es útil para tests unitarios («mi función de lotería debe, con seed 42, entregar los números 4, 12, 18, 28, 35, 41»), para tutoriales en los que todos los participantes deben ver el mismo resultado, y para demos de análisis de datos que deben ser reproducibles. En la mayoría de generadores aleatorios en línea esta función escasea — muchas herramientas ofrecen exclusivamente sorteos basados en Math.random() sin posibilidad de control.
Importante: el modo seed está marcado visiblemente como «no para seguridad». Quien quiera generar tokens en código de navegador debe necesariamente quedarse con crypto.getRandomValues.
¿Cómo funciona exactamente el preset Lotería 6 de 49?
Un clic en el preset pone min a 1, máx a 49, cantidad a 6 y duplicados en «off». El generador extrae entonces seis números distintos del rango, los ordena de forma ascendente y los emite como lista separada por comas. El preset Eurojackpot extrae adicionalmente dos números estrella del rango 1–12. Ambos sorteos usan el mismo pool de Web Crypto para garantizar la corrección estadística.
Lo que este generador deliberadamente NO hace: estadísticas sobre «números más frecuentes desde 1955», enlaces a operadores, valoraciones de boletos rápidos ni promesas de premio. La probabilidad de seis aciertos es, según la estadística oficial de lotería, de 1 entre 13 983 816 — sea cual sea la combinación que elija y sean cuales sean las estadísticas que mire antes. La herramienta es un generador, no un gancho para juegos de azar.
¿Qué formatos de salida tienen sentido para qué caso de uso?
La lista es la elección correcta cuando copia el resultado a un chat, un correo o una tabla. CSV es óptimo para Excel, Google Sheets, R, Python y todas las pipelines de análisis de datos que importan valores separados por coma. JSON es la elección para desarrolladores web y tests de API — el array entra directamente en payloads de fetch() o llamadas JSON.parse.
Para sorteos Eurojackpot, la herramienta entrega una salida estructurada con primary y extra: lista con salto de línea, CSV como tabla de dos filas, JSON como objeto con numbers y extra. Eso hace el resultado legible por máquina sin que tenga que retocar.
¿Qué pasa con rangos numéricos especialmente grandes?
El rango está limitado a Number.MAX_SAFE_INTEGER — son 9 007 199 254 740 992 valores posibles entre min y máx. Para cada sorteo se extrae un valor de 32 bits de la Web Crypto API; en rangos por encima de 2³² el valor se distribuye sobre dos draws. El rendimiento se mantiene lineal en la cantidad de números deseados: 1000 valores del rango 1–10⁶ tardan bajo 10 ms en un laptop 2026 típico.
El límite superior de la cantidad de sorteos es de 1000 valores por clic. Es suficiente para aplicaciones tipo simulación (test Monte Carlo, demos de distribución estadística) y a la vez lo bastante pequeño para que la UI siga fluida incluso en móviles débiles. Quien necesite más, pulsa varias veces o copia el resultado a su propio bucle.
¿Hay aplicaciones para las que esta herramienta no esté pensada?
Sí, tres. Primero: sin distribuciones aleatorias fuera de la uniforme. Gaussiana, Poisson, beta y otras distribuciones son interesantes para estudiantes de estadística, pero de demanda demasiado estrecha — y un buen programa de estadística como R o numpy.random de Python lo hace de todos modos mejor. Segundo: sin números aleatorios « reales » desde ruido atmosférico o fuentes cuánticas. Para eso la herramienta tendría que contactar a un servidor, lo que rompe la doctrina pure-client. Web Crypto es suficiente para cualquier caso de uso más allá de exigencias altamente científicas. Tercero: sin endpoint de API ni widget embed. Quien quiera generar números aleatorios en su propia herramienta llama directamente a crypto.getRandomValues en su propio código — la herramienta aquí es la UI para usuarios finales.
¿Qué hay con la privacidad y el RGPD?
Min, máx, cantidad y resultado quedan en el navegador. No hay persistencia localStorage, ni cookies, ni analytics, ni viaje al servidor. La descarga CSV/JSON se crea mediante un objeto Blob local y un disparador <a download> invisible — el archivo aterriza directamente en el disco duro del usuario. Quien cierre la pestaña ha perdido el resultado — es a propósito.
Desde la perspectiva del RGPD, la herramienta no procesa datos personales en el sentido del art. 4 — números de lotería sorteados o valores de dado no lo son. Incluso si el usuario introduce IDs de empleados como rango, el procesamiento queda local y por tanto fuera del ámbito del RGPD para procesamiento de datos servidor. El badge de modo-seguro arriba en la UI lo hace visible al exterior.
Última actualización: