# random-bytes

> URL and cookie safe UIDs

Latest version **1.0.0** (published 2016-01-17) · MIT license · 0 weekly downloads

## Install

```sh
npm install random-bytes
pnpm add random-bytes
yarn add random-bytes
bun add random-bytes
```

## Health

**Score 23/100 (F)** — status: abandoned.

Positive: has types package; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.0 |
| Published | 2016-01-17 |
| First published | 2016-01-17 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | separate (@types/random-bytes) |
| Module format | CommonJS |
| Node | >= 0.8 |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 29 |
| Maintainers | dougwilson |
| Keywords | bytes, generator, random, safe |

## Links

- npm: https://www.npmjs.com/package/random-bytes
- Repository: https://github.com/crypto-utils/random-bytes
- Issues: https://github.com/crypto-utils/random-bytes/issues
- npm.io page: https://npm.io/package/random-bytes

## Recent versions

- 1.0.0 (latest) — 2016-01-17

## README

# 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

---
_Source: https://npm.io/package/random-bytes · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
