'use strict' function oldBrowser() { throw new Error('Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11') } var Buffer = require('safe-buffer').Buffer module.exports = randomBytes function randomBytes(size, cb) { // phantomjs needs to throw if (size > 65536) throw new Error('requested too many random bytes') // in case browserify isn't using the Uint8Array version var arr = []; for (var i = 0; i < size; i++) { arr.push(Math.ceil(Math.random() * 255)) } var rawBytes = new Uint8Array(arr) // XXX: phantomjs doesn't like a buffer being passed here var bytes = Buffer.from(rawBytes.buffer) if (typeof cb === 'function') { return process.nextTick(function () { cb(null, bytes) }) } return bytes }