Normalize the creation of cryptographically strong random values.
npm install secure-randomsecure-random
==============


A simple JavaScript component to normalize the creation of cryptographically strong random values.
Why?
----
Context switching between the browser and Node.js and creating cryptographically secure random numbers is annoying. This normalizes the behavior. Used by CryptoCoinJS and BitcoinJS.
Install
-------
npm install --save secure-random
component install jprichardson/secure-random
bower install secure-random
``html`
Usage
-----
- byteCount: is the number of bytes to return.
- options: options to pass. Only valid value at this time type. type can beArray
either , Uint8Array, or Buffer. Buffer is only valid in Node.js or
Browserify environments - it will throw an error otherwise.
return an Array:
`js`
var bytes = secureRandom(10) //return an Array of 10 bytes
console.log(bytes.length) //10
or:
`js`
var bytes = secureRandom(10, {type: 'Array'}) //return an Array of 10 bytes
console.log(bytes.length) //10
return a Buffer:
`js`
var bytes = secureRandom(10, {type: 'Buffer'}) //return a Buffer of 10 bytes
console.log(bytes.length) //10
return a Uint8Array:
`js`
var bytes = secureRandom(10, {type: 'Uint8Array'}) //return a Uint8Array of 10 bytes
console.log(bytes.length) //10
Sugar for secureRandom(byteCount, {type: 'Array'}).
`js`
var secureRandom = require('secure-random')
var data = secureRandom.randomArray(10)
Sugar for secureRandom(byteCount, {type: 'Uint8Array'}).
`js`
var secureRandom = require('secure-random')
var data = secureRandom.randomUint8Array(10)
Sugar for secureRandom(byteCount, {type: 'Buffer'}).
`js`
var secureRandom = require('secure-random')
var data = secureRandom.randomBuffer(10)
Handling Errors
-----
An error will be thrown if a secure random number generator is not available.
`javascript``
throw new Error("Your browser does not support window.crypto.")
References
----------
* Node.js crypto.randomBytes()
* Node.js Buffer
* window.crypto.getRandomValues()
* JavaScript typed arrays
License
-------
(MIT License)
Copyright 2013-2014, JP Richardson