CSPRNG de Web CryptoRevisado el 29 sep 2026Se ejecuta en tu navegador

Generador de números aleatorios

Genera enteros o decimales aleatorios uniformes, valores con distribución normal (gaussiana) o una secuencia reproducible a partir de una semilla, usando la fuente aleatoria criptográficamente segura de tu navegador, con control de duplicados y ordenación.

Quién lo escribió

Escrito por Suhaib Hassan. Nuestra metodología.

Cómo funciona el motor

Los enteros, decimales y valores gaussianos usan crypto.getRandomValues (un CSPRNG) para una aleatoriedad genuina obtenida del navegador; el modo con semilla usa un PRNG determinista (mulberry32), de modo que la misma semilla siempre reproduce la misma secuencia.

Por qué la creamos

Nada sale de tu navegador: no se registra ni se envía ningún número, y una ejecución con semilla es totalmente reproducible para pruebas.

Enteros aleatorios

Ejemplos predefinidos
Configuración—
Resultado—
—

—

Media de la muestra—
Fuente—

Distribución de la muestra

Dónde cae cada valor dentro de su rango.

—

Desarrollo paso a paso

—

—

    Cómo genera números cada modo

    • Entero / Decimal: usa crypto.getRandomValues, la misma fuente criptográficamente segura que usan los navegadores para los tokens de seguridad, de una calidad muy superior a Math.random().
    • Gaussiana: combina dos valores uniformes de un CSPRNG con la transformada de Box–Muller para producir valores con distribución normal con la media y la desviación estándar que elijas.
    • Con semilla: usa el algoritmo determinista mulberry32: la misma semilla siempre produce la misma secuencia, útil para pruebas y simulaciones reproducibles (no para seguridad).

    Por Suhaib Hassan · Revisado el 29 de septiembre de 2026 · Cómo verifica CalculatePilot las fórmulas →

    Fuentes

    • Box, G. E. P., & Muller, M. E. (1958). A note on the generation of random normal deviates. Annals of Mathematical Statistics 29(2), 610–611.
    • W3C (2017). Web Cryptography API — especificación de Crypto.getRandomValues().

    Preguntas frecuentes

    ¿Es adecuado para claves criptográficas?

    Los modos Entero y Decimal obtienen los valores de crypto.getRandomValues, el generador criptográficamente seguro del navegador, por lo que la aleatoriedad en bruto es adecuada. Para material de claves real, usa una biblioteca criptográfica específica que gestione correctamente la codificación y los formatos de clave; esta herramienta es para números aleatorios de uso general.

    ¿Qué significa “sin duplicados”?

    Realiza un muestreo sin reemplazo —como sacar bolas de lotería sin devolverlas— de modo que cada valor del resultado es distinto. Requiere que el rango contenga al menos tantos valores como solicitas.

    ¿Por qué usar un generador con semilla en lugar de aleatoriedad verdadera?

    Un generador con semilla (determinista) permite reproducir exactamente la misma secuencia “aleatoria” más adelante: esencial para depurar simulaciones, compartir ejemplos reproducibles o escribir pruebas con resultados predecibles.

    ¿Cómo crea la transformada de Box–Muller una distribución normal?

    Toma dos números aleatorios uniformes independientes y aplica √(−2 ln u₁)·cos(2πu₂) (y una variante con seno), lo que se puede demostrar matemáticamente que produce exactamente valores normales estándar N(0,1), que luego se escalan por σ y se desplazan por μ.

    ¿Por qué no se usa Math.random() aquí?

    Math.random() no está especificado como criptográficamente seguro y su algoritmo varía según el navegador. crypto.getRandomValues() es un estándar web diseñado específicamente para una aleatoriedad impredecible y de alta calidad.

    Calculadoras relacionadas

    Continúa con la estadística.

    Todas las calculadoras de matemáticas

    Incrustar este generador de números aleatorios

    Es gratuita y adaptable, y funciona en el navegador del visitante. Quitar la marca cuesta desde 7,99 $/mes.

    <iframe src="https://www.calculatepilot.com/embed/random-number-generator.html" width="100%" height="560" loading="lazy" title="Random Number Generator"></iframe>