node中bcrypt对密码加密处理

bcrypt是一种不可逆的加密算法,无法通过解密密文得到明文。
推荐看官方文档,因为版本更新

npm install bcryptjs

var bcrypt = require('bcryptjs')
// 【同步加密和验证】
// 随机字符串
var salt = bcrypt.genSaltSync(10)
// 对明文加密
var pwd1 = bcrypt.hashSync('123456', salt)
// 验证比对,返回布尔值表示验证结果 true表示一致,false表示不一致
var isOk = bcrypt.compareSync('123456', pwd1) 

// 【异步加密和验证】
// 随机字符串
bcrypt.genSalt(10, (err, salt) => {
  // 对明文加密
  bcrypt.hash('123456', salt, (err, pwd) => {
    console.log(pwd)
    // 验证
    bcrypt.compare('123456', pwd, (err, isOk) => {
      console.log(isOk)
    })
  })
})

所有的 bcrypt返回值都是一个promise对象

// 导入 bcrypt
const bcript = require('bcryptjs');

async function run() {
    // 生成随机字符串
    // genSalt方法接收一个数值作为参数
    // 数值越大 生成的随机字符串复杂度越高
    // 数值越小生成的随机字符串复杂度越低
    // 默认值是10
    // 返回生成的随机字符串
    const salt = await bcript.genSalt(10);
    // 对密码进行加密
    // 1. 要进行加密的明文
    // 2. 随机字符串
    // 返回值值加密后的密码
    const result = await bcript.hash('123456', salt);
    console.log(salt);
    console.log(result);
}
run()


    // 将客户端传递过来的密码和用户信息中的密码进行比对
    // true 比对成功
    // false 比对失败
let isvalue = await bcrypt.compare(password, user.password)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值