Generador de Números Aleatorios
crypto.getRandomValues · uniforme · en navegador
crypto.getRandomValues. La página usa muestreo por rechazo para que el resultado sea uniforme en cualquier rango — sin sesgo de módulo. Configurable: rango, cantidad, decimales, orden, separador de salida y modo solo-únicos.Por qué esto es "verdaderamente aleatorio"
Los navegadores exponen dos fuentes aleatorias: Math.random(), un generador pseudoaleatorio rápido pero determinista por ejecución, y crypto.getRandomValues(), un RNG criptográficamente seguro sembrado del pool de entropía del sistema operativo — la misma fuente usada para generar claves de sesión TLS. Esta página usa la última para cada valor que extraes.
Evitar el sesgo de módulo
Las implementaciones ingenuas de entero-desde-RNG hacen rand() % n — eso da ligeramente más peso al extremo inferior del rango cuando n no divide el tamaño de palabra del RNG de forma exacta. El sesgo es pequeño, pero real y trivialmente detectable a millones de extracciones.
Modo decimal
Cuando pides decimales, la página extrae un valor uniforme en [0, 1) de 53 bits de crypto.getRandomValues y lo escala al rango pedido. Hay hasta 15 dígitos de precisión disponibles — el límite práctico de los flotantes IEEE-754 de doble precisión, que son los números de JavaScript.
Modo único
Con Sin duplicados activado, la página usa una mezcla parcial de Fisher–Yates del rango entero, lo que garantiza extracciones únicas uniformemente distribuidas — el enfoque estándar para muestreo justo sin reemplazo (el mismo algoritmo que se usa para barajar cartas o para una lotería sin re-extracciones).
Privacidad
Cada valor se genera localmente. La página no hace solicitudes de red tras la carga estática inicial y no hay scripts de analítica. Ninguna de tus entradas o valores generados sale de la página.