install

npm install bcrypt --save

引入

const by = require('bcrypt');

常用方法

加密:

// 生成盐,参数为加密的强度(0~99),默认为10,值越高强度越大,但是解密验证的时候性能越低。
// salt是一个随机字符串
const salt = bcrypt.genSalt(10)
// 参数一:要加密的密码
// 参数二:生城的盐
// 异步方法:返回一个promise
bcrypt.hash(password, salt)
// 同步方法:bcrypt.hashSync()

解密:

// 异步方法:返回一个promise
bcrypt.compare('原始密码', '加密之后的密码')
// 同步方法:
bcrypt.compareSync()

 完整例子:

(async function(){
const bcrypt = require('bcrypt');
const pas = '123'; // 原始密码
const saltC = 10;
let salt = await bcrypt.genSalt(saltC);
let bcPassword = await bcrypt.hash(pas, salt);
let compare = await bcrypt.compare(pas, bcPassword);
// console.log('返回的是布尔值,比对成功返回true,否则false', compare)
})()