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)
})
})
})