The global read-only crypto
property returns the Crypto
object associated to the global object. This object allows 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);
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
Browser compatibility
|
Desktop |
Mobile |
|
Chrome |
Edge |
Firefox |
Internet Explorer |
Opera |
Safari |
WebView Android |
Chrome Android |
Firefox for Android |
Opera Android |
Safari on IOS |
Samsung Internet |
crypto_property |
37 |
12 |
1 |
11 |
24 |
5 |
37 |
37 |
4 |
24 |
5 |
3.0 |
worker_support |
37 |
79 |
48 |
No |
24 |
10.1 |
37 |
37 |
48 |
24 |
10.3 |
3.0 |
See also