Web/API/Window/crypto

From Get docs


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

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
crypto Chrome

Full support 37

Edge

Full support 12

Firefox

Full support 34

IE Full support 11

Prefixed'

Full support 11

Prefixed'

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