D.W. D.W. - 2 years ago 112
Javascript Question

Compatibility of window.crypto.getRandomValues()

I need to generate cryptographically secure pseudorandom numbers, in Javascript. I know about the

window.crypto.getRandomValues
API, which does exactly what I want. However, I also know it was introduced relatively recently (in 2011 or so).

Can I safely assume
window.crypto.getRandomValues
is present, or will using it introduce compatibility problems on some browsers? Are there any major (widely used) browsers which do not support
window.crypto.getRandomValues
(including mobile or desktop browsers), and if so, which ones do I need to worry about? I would be delighted to learn that there is enough support that I no longer need to worry about fallback methods, if that is indeed the case.

Answer Source

Can I safely assume window.crypto.getRandomValues is present

As always it depends on your target market and will change over time. caniuse.com lists which browsers support it and calculates the browser marketshare.

Here is a summary:

  • IE 11: w/ prefix
  • IE Mobile 11: w/ prefix

  • Firefox: 21+

  • Firefox Mobile: 21+

  • Safari: from 6.1

  • Safari Mobile: 7.1

  • Chrome: 11+

  • Chrome for Mobile: 23+
  • Android browser: 4.4

  • Opera: 15+

  • Opera Mobile: 36+
  • Opera Mini: no
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download