forked from dachan/dach
78 lines
2.1 KiB
Markdown
78 lines
2.1 KiB
Markdown
|
# random-bytes
|
||
|
|
||
|
[![NPM Version][npm-image]][npm-url]
|
||
|
[![NPM Downloads][downloads-image]][downloads-url]
|
||
|
[![Node.js Version][node-version-image]][node-version-url]
|
||
|
[![Build Status][travis-image]][travis-url]
|
||
|
[![Test Coverage][coveralls-image]][coveralls-url]
|
||
|
|
||
|
Generate strong pseudo-random bytes.
|
||
|
|
||
|
This module is a simple wrapper around the Node.js core `crypto.randomBytes` API,
|
||
|
with the following additions:
|
||
|
|
||
|
* A `Promise` interface for environments with promises.
|
||
|
* For Node.js versions that do not wait for the PRNG to be seeded, this module
|
||
|
will wait a bit.
|
||
|
|
||
|
## Installation
|
||
|
|
||
|
```sh
|
||
|
$ npm install random-bytes
|
||
|
```
|
||
|
|
||
|
## API
|
||
|
|
||
|
```js
|
||
|
var randomBytes = require('random-bytes')
|
||
|
```
|
||
|
|
||
|
### randomBytes(size, callback)
|
||
|
|
||
|
Generates strong pseudo-random bytes. The `size` argument is a number indicating
|
||
|
the number of bytes to generate.
|
||
|
|
||
|
```js
|
||
|
randomBytes(12, function (error, bytes) {
|
||
|
if (error) throw error
|
||
|
// do something with the bytes
|
||
|
})
|
||
|
```
|
||
|
|
||
|
### randomBytes(size)
|
||
|
|
||
|
Generates strong pseudo-random bytes and return a `Promise`. The `size` argument is
|
||
|
a number indicating the number of bytes to generate.
|
||
|
|
||
|
**Note**: To use promises in Node.js _prior to 0.12_, promises must be
|
||
|
"polyfilled" using `global.Promise = require('bluebird')`.
|
||
|
|
||
|
```js
|
||
|
randomBytes(18).then(function (string) {
|
||
|
// do something with the string
|
||
|
})
|
||
|
```
|
||
|
|
||
|
### randomBytes.sync(size)
|
||
|
|
||
|
A synchronous version of above.
|
||
|
|
||
|
```js
|
||
|
var bytes = randomBytes.sync(18)
|
||
|
```
|
||
|
|
||
|
## License
|
||
|
|
||
|
[MIT](LICENSE)
|
||
|
|
||
|
[npm-image]: https://img.shields.io/npm/v/random-bytes.svg
|
||
|
[npm-url]: https://npmjs.org/package/random-bytes
|
||
|
[node-version-image]: https://img.shields.io/node/v/random-bytes.svg
|
||
|
[node-version-url]: http://nodejs.org/download/
|
||
|
[travis-image]: https://img.shields.io/travis/crypto-utils/random-bytes/master.svg
|
||
|
[travis-url]: https://travis-ci.org/crypto-utils/random-bytes
|
||
|
[coveralls-image]: https://img.shields.io/coveralls/crypto-utils/random-bytes/master.svg
|
||
|
[coveralls-url]: https://coveralls.io/r/crypto-utils/random-bytes?branch=master
|
||
|
[downloads-image]: https://img.shields.io/npm/dm/random-bytes.svg
|
||
|
[downloads-url]: https://npmjs.org/package/random-bytes
|