Window: crypto property
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The crypto
read-only property of the Window
interface returns the Crypto
object for this window's scope. This object gives web pages access to certain cryptographic related services.
Although the property itself is read-only, all of its methods (and the methods of its
child object, SubtleCrypto
) are not read-only, and therefore vulnerable
to attack by polyfill.
Although crypto
is available on all windows, the returned Crypto
object only has one usable feature in insecure contexts: the getRandomValues()
method. In general, you should use this API only in secure contexts.
Value
An instance of the Crypto
interface, providing access to general-purpose cryptography and a strong random-number generator.
Examples
This example uses the crypto
property to access the getRandomValues()
method.
JavaScript
globalThis.genRandomNumbers = () => {
const array = new Uint32Array(10);
globalThis.crypto.getRandomValues(array);
const randText = document.getElementById("myRandText");
randText.textContent = `The random numbers are: ${array.join(" ")}`;
};
HTML
<p id="myRandText">The random numbers are:</p>
<button type="button" onClick="genRandomNumbers()">
Generate 10 random numbers
</button>
Result
Specifications
Specification |
---|
Web Cryptography API # dom-windoworworkerglobalscope-crypto |
Browser compatibility
BCD tables only load in the browser
See also
- The
Crypto
interface WorkerGlobalScope.crypto