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 d'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.
Syntaxe
cryptoObj.getRandomValues(typedArray);
Paramètres
- typedArray
- Is an integer-based
TypedArray
, that is aInt8Array
, aUint8Array
, aUint16Array
, aInt32Array
, or aUint32Array
. Tous les éléments du tableau seront subsitués avec des nombres aléatoires.
Exceptions
- Une
QuotaExceededError
DOMException
est levée si la taille de la requête est plus grand que 65 536 octets.
Exemple
/* on part du principe ici que window.crypto.getRandomValues est disponible */ 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]); }
Compatibilité des navigateurs
Nous convertissons les données de compatibilité dans un format JSON. Ce tableau de compatibilité utilise encore l'ancien format car nous n'avons pas encore converti les données qu'il contient. Vous pouvez nous aider en contribuant !
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 |
Spécification
Specification | Status | Comment |
---|---|---|
Web Cryptography API | Recommendation | Initial definition |
Voir aussi
Window.crypto
pour obtenir un objetCrypto
.Math.random
, une source non cryptographique de nombres aléatoires.