Este artigo necessita de uma revisão editorial. Como posso ajudar.
O método RandomSource.getRandomValues()
permite que você obtenha valores criptográficos randômicos. O array passado como parametro é 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 serInt8Array
,Uint8Array
,Uint16Array
,Int32Array
, ouUint32Array
. 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 | Candidate Recommendation | Definição inicial |
Navegadores compatíveis
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 | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | Não suportado | 23.0 | 21.0 | 11.0 | Não suportado | 6 |
Veja também
Window.crypto
to get aCrypto
object.Math.random
, a non-cryptographic source of random numbers.