# pbkdf2sha512

> node crypto's async pbkdf2 promisified and with sane defaults. ES5. TypeScript support. 1.3kb excl. deps.

Latest version **1.2.4** (published 2018-08-19) · SEE LICENSE IN LICENSE license · 0 weekly downloads

## Install

```sh
npm install pbkdf2sha512
pnpm add pbkdf2sha512
yarn add pbkdf2sha512
bun add pbkdf2sha512
```

## Health

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

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

Warnings: low downloads; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.2.4 |
| Published | 2018-08-19 |
| First published | 2017-02-15 |
| Weekly downloads | 0 |
| License | SEE LICENSE IN LICENSE |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 35.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | Stephane M. Catala |
| Maintainers | smcatala |
| Keywords | pbkdf2, sha512, crypto, defaults, promise |

## Links

- npm: https://www.npmjs.com/package/pbkdf2sha512
- Repository: https://github.com/zenyway/pbkdf2sha512
- Homepage: https://github.com/zenyway/pbkdf2sha512#readme
- Issues: https://github.com/zenyway/pbkdf2sha512/issues
- npm.io page: https://npm.io/package/pbkdf2sha512

## Dependencies (2)

- [pbkdf2](https://npm.io/package/pbkdf2.md) ^3.0.16
- [randombytes](https://npm.io/package/randombytes.md) ^2.0.6

## Alternatives

- [@gemini-wallet/core](https://npm.io/package/@gemini-wallet/core.md) — 515.6K weekly downloads
- [utility](https://npm.io/package/utility.md) — 416.6K weekly downloads
- [@primno/dpapi](https://npm.io/package/@primno/dpapi.md) — 7.2K weekly downloads
- [pi-readseek](https://npm.io/package/pi-readseek.md) — 3.7K weekly downloads
- [@emilia-protocol/verify](https://npm.io/package/@emilia-protocol/verify.md) — 1.1K weekly downloads

## Recent versions

- 1.2.4 (latest) — 2018-08-19
- 1.2.3 — 2018-08-19
- 1.2.2 — 2018-08-19
- 1.2.1 — 2017-06-03
- 1.1.0 — 2017-03-01
- 1.0.2 — 2017-02-15
- 1.0.1 — 2017-02-15
- 1.0.0 — 2017-02-15

## README

# pbkdf2sha512 [![Join the chat at https://gitter.im/ZenyWay/pbkdf2sha512](https://badges.gitter.im/ZenyWay/pbkdf2sha512.svg)](https://gitter.im/ZenyWay/pbkdf2sha512?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![NPM](https://nodei.co/npm/pbkdf2sha512.png?compact=true)](https://nodei.co/npm/pbkdf2sha512/)
[![build status](https://travis-ci.org/ZenyWay/pbkdf2sha512.svg?branch=master)](https://travis-ci.org/ZenyWay/pbkdf2sha512)
[![coverage status](https://coveralls.io/repos/github/ZenyWay/pbkdf2sha512/badge.svg?branch=master)](https://coveralls.io/github/ZenyWay/pbkdf2sha512)
[![Dependency Status](https://gemnasium.com/badges/github.com/ZenyWay/pbkdf2sha512.svg)](https://gemnasium.com/github.com/ZenyWay/pbkdf2sha512)

node crypto's async pbkdf2 promisified and with sane defaults.
ES5 code with TypeScript support. 1.3kb gzip, excluding dependencies.

# <a name="example"></a> example
```ts
import getPbkdf2OSha512 from 'pbkdf2sha512'
import debug = require('debug')
debug.enable('example:*')

const pbkdf2 = getPbkdf2OSha512({
  // generate random 64-byte long salt string, base64-encoded (default)
  iterations: 8192, // min 8192 (unless `relaxed`), default 65536
  length: 32 // min 32, max 64, default 64
  // digest is always 'sha512'
  // relaxed defaults to false
})

const rawpbkdf2 = getPbkdf2OSha512({
  encoding: 'none',
  iterations: 8192,
  length: 32
})

debug('example:')('digest passphrase...')

pbkdf2('secret passphrase')
.then(debug('example:digest:'))
// { value: "...", spec: { encoding: "base64", salt: "...", iterations: 16384, length: 64, hmac: "sha512" }}

rawpbkdf2('secret passphrase')
.then(debug('example:raw-digest:'))
// { value: Buffer, spec: { encoding: "none", salt: Buffer, iterations: 8192, length: 32, hmac: "sha512" }}
```
the files of this example are available [in this repository](./spec/example).

view a [live version of this example in the browser console](https://cdn.rawgit.com/ZenyWay/pbkdf2sha512/v1.2.4/spec/example/index.html)
in the browser console,
or by cloning this repository and running the following commands from a terminal:
```bash
npm install
npm run example
```

# <a name="api"></a> API v1.2 stable
`ES5` and [`Typescript`](http://www.typescriptlang.org/) compatible.
coded in `Typescript 3`, transpiled to `ES5`.

for a detailed specification of the API,
[run the unit tests in your browser](https://cdn.rawgit.com/ZenyWay/pbkdf2sha512/v1.2.4/spec/web/index.html).

# <a name="contributing"></a> CONTRIBUTING
see the [contribution guidelines](./CONTRIBUTING.md)

# <a name="license"></a> LICENSE
Copyright 2018 Stéphane M. Catala

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the [License](./LICENSE) for the specific language governing permissions and
Limitations under the License.

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