基于bcrypt用户登录功能

451 阅读1分钟
依赖环境

1、安装py2.x版本,并将安装目录放置在环境变量中

2、node安装node-gyp -g

3、npm install --global --production window-build-tools

重新打开命令行窗口,以管理员身份

4、npm install bcypt

使用

建立文件hash.js

const bcypt=require('bcypt');

async function run( ){
    生成随机字符串
    const await bcrypt.genSalt(10);
    const result = await bcrypt.hash('明文',salt);
    const user = await User.create({
    用户集合规则
    其中令password:result)
}
run()
密码比对
let isEqual= await bcrypt.compare('明文密码''加密密码')

cookie与session

cookie是浏览器在电脑硬盘中开辟的一块空间,主要提供服务器端存储数据,会随着请求自动发送到服务器端

session实际上是一个对象,存储在服务器端的内存中,在session对象中可以存储多条数据,每一条都有一个session作为唯一标识

登录过程
const session = require ('express-session');
//secret key是密钥
app.use(session({secret:'secret key'}));

session有一个特点,当网站服务器重启时服务器端session就会失效

重定向

res.redirect('/admin/user')