Crypto.getRandomValues()

El método Crypto.getRandomValues() permite obtener valores aleatorios criptográficamente fuertes. El array que se pasa como parámetro se rellena con números aleatorios (entiéndase aleatorios en el sentido criptográfico).

Con el fin de garantizar un rendimiento razonable, las distintas implementaciones no utilizan un generador de numeros aleatorios puro, sino que utilizan un generador numérico pseudo-aleatorio, sembrado con un valor con suficiente entropía. Los generadores numéricos pseudo-aleatorios utilizados difieren entre user agents (en-US), pero son adecuados para usos criptográficos. Se require también que las distintas implementaciones usen una semilla con suficiente entropía, como una fuente de entropía a nivel de sistema.

Sintaxis

cryptoObj.getRandomValues(typedArray);

Parámetros

typedArray
Es un entero TypedArray, que puede ser un Int8Array, un Uint8Array, un Int16Array, un Uint16Array, un Int32Array, o un Uint32Array. Todos los elementos dentro del array seran sobreescritos con números aleatorios.

Excepciones

Ejemplo

/* Asumiendo que window.crypto.getRandomValues está disponible */

var array = new Uint32Array(10);
window.crypto.getRandomValues(array);

console.log("Tus numeros de la suerte:");
for (var i = 0; i < array.length; i++) {
    console.log(array[i]);
}

Especificación

Especificación Estado Comentario
Web Cryptography API Recommendation Definición Inicial

Compatibilidad del navegador

BCD tables only load in the browser

La tabla de compatibilidad de esta página se genera a partir de datos estructurados. Si desea contribuir a los datos, por favor, compruebe https://github.com/mdn/browser-compat-data y envianos un pull request.

Ver también