Node.js第七篇:Node.js中使用bcryptjs

为什么要使用bcrypt加密

目的就是增强数据的安全性!

我们在软件开发过程中,对于如密码这样的信息,我们不能直接以明文的方式存储在数据库中。

若数据库被入侵,用户的密码明文泄露,则可能会造成不可避免的损失。

所以,对于类似密码这样的数据,我们是需要加密处理的,这样即便数据泄露,被加密的密码也难以破解。

而bcrypt就是一种不可逆的加密算法,无法通过解密密文得到明文。

Node.js中使用bcryptjs

在Node中我们若要利用bcrypt算法对数据加密,可以使用第三方模块bcryptjs

安装工具包

npm install bcryptjs

Nodejs中使用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)
    })
  })
})

posted @ 2020-05-11 23:20  雷哒哒  阅读(4921)  评论(0编辑  收藏  举报