Port of the OpenBSD
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.
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 for further information.
pass, a Uint8Array of length
passlen, an integer Number
salt, a Uint8Array of length
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.
sha2pass, a Uint8Array of length 64
sha2salt, a Uint8Array of length 64
out, a Uint8Array of length 32, will be filled with output