加密算法
一、MD5
MD5是一种加密算法,在调用这个算法的时候,提供一个密码明文,调用的结果得到一个32位长度的密文。相同的字符串,如果多次调用Md5算法,结果完全一样,并且无法被逆向解密。
二、bcrypt加密算法
在项目中使用bcrypt加密算法的步骤
-
安装: 终端运行npm i node-pre-gyp -g
-
在项目根目录中,打开终端,运行 cnpm install bcrypt -s
-
导入bcrypt
const bcrypt = require('bcrypt')
-
定义幂次
const saltRounds = 10 //2^10
-
调用bcrypt.hash('被加密的密码',循环的幂次,回调函数)加密
bcrypt.hash('123'.saltRounds,(err,pwsCryped) => {
console.log(pwdCryped)//$2b$10$xFy.Cj21ZvsACgFLhWLj7OF.0gGLWze3Q2/gNsBjP/YvNid5Rs.y
})
- 调用 bcrypt.compare('用户输入的密码','数据库中记录的密码',回调函数)对比密码是否正确:
bcrypt.compare('123','$2b$10$xFy.Cj21ZvsACgFLhWLj7OF.0gGLWze3Q2/gNsBjP/YvNid5Rs.y',(err,res)=>{
console.log(res)//是一个布尔值
})