Spaces:
Configuration error
Configuration error
Port of the OpenBSD `bcrypt_pbkdf` function to pure Javascript. `npm`-ified | |
version of [Devi Mandiri's port](https://github.com/devi/tmp/blob/master/js/bcrypt_pbkdf.js), | |
with some minor performance improvements. The code is copied verbatim (and | |
un-styled) from Devi's work. | |
This product includes software developed by Niels Provos. | |
## API | |
### `bcrypt_pbkdf.pbkdf(pass, passlen, salt, saltlen, key, keylen, rounds)` | |
Derive a cryptographic key of arbitrary length from a given password and salt, | |
using the OpenBSD `bcrypt_pbkdf` function. This is a combination of Blowfish and | |
SHA-512. | |
See [this article](http://www.tedunangst.com/flak/post/bcrypt-pbkdf) for | |
further information. | |
Parameters: | |
* `pass`, a Uint8Array of length `passlen` | |
* `passlen`, an integer Number | |
* `salt`, a Uint8Array of length `saltlen` | |
* `saltlen`, an integer Number | |
* `key`, a Uint8Array of length `keylen`, will be filled with output | |
* `keylen`, an integer Number | |
* `rounds`, an integer Number, number of rounds of the PBKDF to run | |
### `bcrypt_pbkdf.hash(sha2pass, sha2salt, out)` | |
Calculate a Blowfish hash, given SHA2-512 output of a password and salt. Used as | |
part of the inner round function in the PBKDF. | |
Parameters: | |
* `sha2pass`, a Uint8Array of length 64 | |
* `sha2salt`, a Uint8Array of length 64 | |
* `out`, a Uint8Array of length 32, will be filled with output | |
## License | |
This source form is a 1:1 port from the OpenBSD `blowfish.c` and `bcrypt_pbkdf.c`. | |
As a result, it retains the original copyright and license. The two files are | |
under slightly different (but compatible) licenses, and are here combined in | |
one file. For each of the full license texts see `LICENSE`. | |