简介
bcryptjs是一个第三方加密库,用来实现在Node环境下的bcrypt加密
bcrypt,是一个跨平台的文件加密工具。由它加密的文件可在所有支持的操作系统和处理器上进行转移。它的口令必须是8至56个字符,并将在内部被转化为448位的密钥。
安装和引入
安装:
npm install bcryptjs -S
引入:
import bcrypt from 'bcryptjs';
同步用法(sync)
生成hash密码:
const salt = bcrypt.genSaltSync(10);
const hash = bcrypt.hashSync("B4c0/\/", salt);
// Store hash in your password DB.
快速生成hash密码:
const hash = bcrypt.hashSync("B4c0/\/", 8);
密码验证:
// Load hash from your password DB.
bcrypt.compareSync("B4c0/\/", hash); // true
bcrypt.compareSync("not_bacon", hash); // false
异步用法
生成hash密码
bcrypt.genSalt(10, function(err, salt) {
bcrypt.hash("B4c0/\/", salt, function(err, hash) {
// Store hash in your password DB.
});
});
快速生成hash密码:
bcrypt.hash('bacon', 8, function(err, hash) {
// Store hash in your password DB.
});
密码验证:
// Load hash from your password DB.
bcrypt.compare("B4c0/\/", hash, function(err, res) {
// res === true
});
bcrypt.compare("not_bacon", hash, function(err, res) {
// res === false
});
// As of bcryptjs 2.4.0, compare returns a promise if callback is omitted:
bcrypt.compare("B4c0/\/", hash).then((res) = > {
// res === true
});