Port of the OpenBSD bcrypt_pbkdf
function to pure Javascript. npm
-ified
version of Devi Mandiri's port,
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 for further information.
Parameters:
-
pass
, a Uint8Array of lengthpasslen
-
passlen
, an integer Number -
salt
, a Uint8Array of lengthsaltlen
-
saltlen
, an integer Number -
key
, a Uint8Array of lengthkeylen
, 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