File tree Expand file tree Collapse file tree 1 file changed +23
-6
lines changed Expand file tree Collapse file tree 1 file changed +23
-6
lines changed Original file line number Diff line number Diff line change 1
1
( function ( ) {
2
+ var g = ( 'undefined' === typeof window ? global : window ) || { }
3
+ var foolBrowserify = require
4
+ _crypto = (
5
+ g . crypto || g . msCrypto || foolBrowserify ( 'crypto' )
6
+ )
2
7
module . exports = function ( size ) {
3
- var bytes = new Buffer ( size ) ; //in browserify, this is an extended Uint8Array
4
- /* This will not work in older browsers.
5
- * See https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues
6
- */
7
- crypto . getRandomValues ( bytes ) ;
8
- return bytes ;
8
+ // Modern Browsers
9
+ if ( _crypto . getRandomValues ) {
10
+ var bytes = new Buffer ( size ) ; //in browserify, this is an extended Uint8Array
11
+ /* This will not work in older browsers.
12
+ * See https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues
13
+ */
14
+
15
+ _crypto . getRandomValues
16
+ return bytes ;
17
+ }
18
+ else if ( _crypto . randomBytes ) {
19
+ return _crypto . randomBytes ( size )
20
+ }
21
+ else
22
+ throw new Error (
23
+ 'secure random number generation not supported by this browser\n' +
24
+ 'use chrome, FireFox or Internet Explorer 11'
25
+ )
9
26
}
10
27
} ( ) )
You can’t perform that action at this time.
0 commit comments