The Crypto interface represents basic cryptography features available in the current context. It allows access to a cryptographically strong random number generator and to cryptographic primitives.
The Web Crypto API is accessed through the global crypto property, which is a Crypto object.
Instance properties
This interface implements properties defined on RandomSource.
Crypto.subtle Read only Secure context
-
Returns a SubtleCrypto object providing access to common cryptographic primitives, like hashing, signing, encryption, or decryption.
Instance methods
This interface implements methods defined on RandomSource.
-
Crypto.getRandomValues()
-
Fills the passed TypedArray with cryptographically sound random values.
-
Crypto.randomUUID()
-
Returns a randomly generated, 36 character long v4 UUID.
Usage notes
You should avoid using the Web Crypto API on insecure contexts, even though the Crypto interface is present on insecure contexts, as is the crypto property. In addition, the Crypto method getRandomValues() is available on insecure contexts, but the subtle property is not.
In general, you probably should just treat Crypto as available only on secure contexts.
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 |
11 |
12 |
21 |
11 |
15 |
5 |
≤37 |
18 |
21 |
14 |
5 |
1.0 |
getRandomValues |
11 |
12 |
21 |
11 |
15 |
5 |
≤37 |
18 |
21 |
14 |
5 |
1.0 |
randomUUID |
92 |
92 |
95 |
No |
78 |
15.4 |
92 |
92 |
95 |
65 |
15.4 |
16.0 |
subtle |
37 |
12 |
34 |
11 |
24 |
117–11.1 |
37 |
37 |
34 |
24 |
117–11.3 |
3.0 |
See also