為什么要使用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)
})
})
})