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, 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 unInt8Array
, unUint8Array
, unInt16Array
, unUint16Array
, unInt32Array
, o unUint32Array
. Todos los elementos dentro del array seran sobreescritos con números aleatorios.
Excepciones
- Una QuotaExceededError (en-US)
DOMException
(en-US) es lanzada si la longitud solicitada es mayor a 65536 bytes.
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
Window.crypto
para obtener un objeto tipoCrypto
.Math.random
, una fuente no criptográfica de números aleatorios.