'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.js").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; }