--- title: RandomSource.getRandomValues() slug: Web/API/Crypto/getRandomValues tags: - API - Cryptographie - Methode(2) - Méthode - Reference - Référence(2) translation_of: Web/API/Crypto/getRandomValues original_slug: Web/API/RandomSource/getRandomValues ---

{{APIRef("Web Crypto API")}}

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'{{Glossary("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
Un {{jsxref("TypedArray")}} de nombres entiers, qui est un {{jsxref("Int8Array")}}, un {{jsxref("Uint8Array")}}, un {{jsxref("Uint16Array")}}, un {{jsxref("Int32Array")}}, ou encore un {{jsxref("Uint32Array")}}. Tous les éléments du tableau seront subsitués avec des nombres aléatoires.

Exceptions

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]);
}

Spécification

Specification Status Comment
{{SpecName('Web Crypto API', '#RandomSource-method-getRandomValues')}} {{Spec2('Web Crypto API')}} Initial definition

Compatibilité des navigateurs

{{Compat("api.Crypto.getRandomValues")}}

Voir aussi