lucaconte 7cc26e831d presentations 6 年之前
..
README.md 7cc26e831d presentations 6 年之前
index.js 7cc26e831d presentations 6 年之前
package.json 7cc26e831d presentations 6 年之前

README.md

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 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