Crypto
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.
Note: This feature is available in Web Workers
The Web Crypto API is accessed through the global crypto
property, which is a Crypto
object.
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.
Methods
This interface implements methods defined on RandomSource
.
Crypto.getRandomValues()
-
Fills the passed
TypedArray
with cryptographically sound random values.
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
Specification |
---|
Web Cryptography API # crypto-interface |
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 |
26 |
11 |
15 |
5 |
≤37 |
18 |
26 |
14 |
5 |
1.0 |
getRandomValues |
11 |
12 |
26 |
11 |
15 |
5 |
≤37 |
18 |
26 |
14 |
5 |
1.0 |
randomUUID |
92 |
92 |
No |
No |
78 |
No |
92 |
92 |
No |
No |
No |
16.0 |
subtle |
37 |
12 |
34 |
11 |
24 |
11
7-11.1
|
37 |
37 |
34 |
24 |
11
7-11.3
|
3.0 |
See also
- Web security
- Secure contexts
- Features restricted to secure contexts
- Transport Layer Security
- Strict-Transport-Security
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Crypto