12345678910111213141516171819202122232425262728293031 |
- '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
- }
|