The read-only Window.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 window.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.
Syntax
var cryptoObj = window.crypto || window.msCrypto; // for IE 11
Value
An instance of the Crypto
interface, providing access to general-purpose cryptography and a strong random-number generator.
Example
This example uses the Window.crypto
property to access the getRandomValues()
method.
JavaScript
genRandomNumbers = function getRandomNumbers() {
var array = new Uint32Array(10);
window.crypto.getRandomValues(array);
var randText = document.getElementById("myRandText");
randText.innerHTML = "The random numbers are: "
for (var i = 0; i < array.length; i++) {
randText.innerHTML += array[i] + " ";
}
}
HTML
<p id="myRandText">The random numbers are: </p>
<button type="button" onClick='genRandomNumbers()'>Generate 10 random numbers</button>
Result
Specifications
Specification | Status | Comment |
Web Cryptography APIThe definition of 'Window.crypto' in that specification. | Recommendation | Initial definition |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
crypto
|
Chrome
Full support 37 |
Edge
Full support 12 |
Firefox
Full support 34 |
IE Full support 11 Full support 11 Prefixed' Implemented with the vendor prefix: ms |
Opera
Full support 24 |
Safari
Full support 6.1 |
WebView Android
Full support 37 |
Chrome Android
Full support 37 |
Firefox Android
Full support 34 |
Opera Android
Full support 24 |
Safari iOS
Full support 6.1 |
Samsung Internet Android
Full support 3.0 |
Legend
- Full support
- Full support
- Requires a vendor prefix or different name for use.'
- Requires a vendor prefix or different name for use.
See also
Window.crypto by Mozilla Contributors is licensed under CC-BY-SA 2.5.