Cette traduction est incomplète. Aidez à traduire cet article depuis l'anglais.
La méthode RandomSource.getRandomValues()
permet d’obtenir des valeurs pseudo-aléatoires cryptographiquement satisfaisantes. Le tableau donné en paramètre est rempli avec des nombres pseudo-aléatoires.
Pour garantir une performance suffisante, les implémentations n’utilisent pas un vrai générateur de nombres aléatoires, mais un générateur de nombres pseudo-aléatoires semé avec une valeur ayant suffisamment entropie. Les générateurs utilisés d’une implémentation à une autre seront différents mais toujours satisfaisants pour une utilisation en cryptographie. Les implémentations doivent également utiliser une graine ayant suffisamment d’entropie, comme une source d’entropie au niveau du système.
Syntax
cryptoObj.getRandomValues(typedArray);
Parameters
- typedArray
- Is an integer-based
TypedArray
, that is aInt8Array
, aUint8Array
, aUint16Array
, aInt32Array
, or aUint32Array
. All elements in the array are going to be overridden with random numbers.
Exceptions
- A
QuotaExceededError
DOMException
is thrown if the requested length is greater than 65536 bytes.
Example
/* assuming that window.crypto.getRandomValues is available */ var array = new Uint32Array(10); window.crypto.getRandomValues(array); console.log("Your lucky numbers:"); for (var i = 0; i < array.length; i++) { console.log(array[i]); }
Browser Compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 11.0 WebKit bug 22049 | 21.0 | 11.0 | 15.0 | 3.1 |
Feature | Android Browser | Chrome (as App) | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari |
---|---|---|---|---|---|---|
Basic support | Pas de support | 23 | 21.0 | 11.0 | Pas de support | iOS 6 |
Specification
Specification | Status | Comment |
---|---|---|
Web Cryptography API | Candidate Recommendation | Initial definition |
See also
Window.crypto
to get aCrypto
object.Math.random
, a non-cryptographic source of random numbers.