Ce face crypto.getRandomValues
Math.random() este suficient pentru jocuri, dar nu pentru securitate: valorile pot fi ghicite. crypto.getRandomValues umple un typed array întreg (Uint8Array, Uint32Array etc.) cu valori aleatorii de calitate criptografică și îl returnează.
Poate genera cel mult 65.536 de octeți la un apel.
Parametri
| Parametru | Descriere |
|---|---|
typedArray |
Un typed array întreg, de exemplu new Uint8Array(16). |
Ce returnează
Același typed array, umplut.
Exemple
Exemplul 1: Un token și o parolă aleatorie
const token = crypto.getRandomValues(new Uint8Array(16));
console.log(token.toHex());
const litere = "abcdefghijkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ23456789";
const parola = Array.from(crypto.getRandomValues(new Uint32Array(12)), (n) => litere[n % litere.length]).join("");
console.log(parola);
Rezultat posibil (diferă la fiecare rulare)
3f9a1c07be52d8e46a0f2b7c91d3e5a8
k7QmZ2rTx9Pd
Greșeli frecvente
- Dai un
Float64Arrayși primeștiTypeMismatchError. Sunt acceptate doar tablourile de întregi.
Comenzi înrudite
crypto.randomUUID: Generează un identificator unic aleatoriu (UUID versiunea 4), de forma 36b8f84d-df4e-4d49-b662-bcde71a8764f.Math.random: Returnează un număr aleatoriu între 0 (inclusiv) și 1 (exclusiv).Typed arrays (Uint8Array, Float64Array...): Tablouri de lungime fixă cu numere de un singur tip, pentru date binare: imagini, fișiere, audio, rețea.