Baseline Widely available
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die Crypto.getRandomValues()
Methode ermöglicht es Ihnen, kryptographisch starke Zufallswerte zu erhalten. Das als Parameter übergebene Array wird mit Zufallszahlen im kryptographischen Sinn gefüllt.
Um eine ausreichende Leistung sicherzustellen, verwenden Implementierungen keinen echten Zufallszahlengenerator, sondern einen Pseudo-Zufallszahlengenerator, der mit einem Wert mit ausreichend Entropie initialisiert wird. Der Algorithmus für den Pseudo-Zufallszahlengenerator (PRNG) kann bei verschiedenen User Agents variieren, ist aber für kryptographische Zwecke geeignet.
getRandomValues()
ist das einzige Mitglied des Crypto
Interface, das aus einem unsicheren Kontext verwendet werden kann.
getRandomValues(typedArray)
Parameter
typedArray
Ein integer-basiertes TypedArray
, das eines der folgenden ist: Int8Array
, Uint8Array
, Uint8ClampedArray
, Int16Array
, Uint16Array
, Int32Array
, Uint32Array
, BigInt64Array
, BigUint64Array
(aber nicht Float16Array
, Float32Array
noch Float64Array
). Alle Elemente im Array werden mit Zufallszahlen überschrieben.
Das gleiche übergebene Array als typedArray
, jedoch mit seinem Inhalt, der durch die neu generierten Zufallszahlen ersetzt wurde. Beachten Sie, dass typedArray
direkt verändert wird und keine Kopie erstellt wird.
QuotaExceededError
DOMException
Wird ausgelöst, wenn die byteLength
von typedArray
65.536 überschreitet.
Für die Schlüsselgenerierung bevorzugen Sie die Methode generateKey()
, die garantiert in einem sicheren Kontext ausgeführt wird.
Es gibt keinen durch die Web-Kryptographie-Spezifikation vorgeschriebenen Mindestgrad an Entropie. User Agents werden jedoch dazu angehalten, die bestmögliche Entropie beim Generieren von Zufallszahlen bereitzustellen, indem sie einen gut definierten, effizienten Pseudo-Zufallszahlengenerator verwenden, der in den User Agent selbst integriert ist und mit Werten initialisiert wird, die aus einer externen Quelle von Pseudozufallszahlen stammen, wie beispielsweise eine plattformspezifische Zufallszahlenfunktion, das Unix /dev/urandom
Gerät oder eine andere Quelle von zufälligen oder pseudozufälligen Daten.
const array = new Uint32Array(10);
self.crypto.getRandomValues(array);
console.log("Your lucky numbers:");
for (const num of array) {
console.log(num);
}
Spezifikationen Browser-Kompatibilität Siehe auch
Math.random
, eine nicht-kryptographische Quelle für Zufallszahlen.RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4