RandomSource getRandomValues()

RandomSource.getRandomValues()

O método RandomSource.getRandomValues() permite que você obtenha valores criptográficos randômicos. O array passado como parâmetro é preenchido com números randômicos (randômicos no sentido criptogáfico).

Para garantir performance suficiente, as implementações não estão usando um gerador de número randômico de verdade, mas estão usando um gerador de número pseudo-randômico alimentado com um valor com entropia suficiente. Os PRNG (pseudo-random number generator - gerador de número pseudo-randômico) usados diferem de uma implementação para a outra, mas são adequadas para usos criptográficos. As implementações precisam ter um valor de alimentação com entropia suficiente, como uma fonte de entropia a nível de sistema.

Sintaxe

cryptoObj.getRandomValues(typedArray);
Parâmetros

typedArray
É uma TypedArray de números inteiros, que pode ser Int8Array, Uint8Array, Uint16Array, Int32Array, ou Uint32Array. Todos os elementos no array serão sobrescristos com números randômicos.

Exceções

Um QuotaExceededError DOMException é enviado se o tamanho da requisição for maior que 65536 bytes.

Exemplo

/* assumindo que window.crypto.getRandomValues está disponível */

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

console.log("Seus números da sorte são:");
for (var i = 0; i < array.length; i++) {
    console.log(array[i]);
}

Especificação

| Especificação | Estado | Comentário |
|:————–|:——:|:———-:|
| Web Cryptography API | Recomendação Candidato | Definição inicial |

Desktop

FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suporte básico11.0 WebKit bug 2204921.011.015.03.1

Mobile

FeatureAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suporte básicoNão compatível23.021.011Não compatível6

Veja também

Artigo no MDN

Rev 1.0: 2015-11-21

Voltar