What is an alternative for bcrypt to use with node?
As of 24th April 2020 There is a nice built in way of hashing passwords using scrypt
in the crypto
module
// Using the built in crypto module
const { scryptSync, randomBytes } = require("crypto");
// Any random string here (ideally should be atleast 16 bytes)
const salt = randomBytes(16).toString("hex")
// Pass the password string and get hashed password back
// ( and store only the hashed string along with the salt in your database)
// {hashedPassword}${salt}
const getHash = (password) => scryptSync(password, salt, 32).toString("hex");
Check out https://npmjs.org/package/bcryptjs, it's fully compatible with bcrypt just without the dependencies.
Or https://npmjs.org/package/simplecrypt if you don't want the crypto boilerplate and just need to encrypt and decrypt strings.