1、设置app.use(cookieParser('secret'));
2、设置加密cookie添加
res.cookie('x','xx',{signed:true});
3、获取加密cookie
req.signedCookies.键名
加密算法md5:
引入
var crypto= require('crypto');
加密
let password='123';
let sf = crypto.createHash('md5');
sf.update(password);
//加密的二进制数据以字符串的形式显示
let content=sf.digest('hex');
解密(将加密的字符串设置成键,通过键来获取真实值)
let obj={
content:password
}
res.send(obj.content);
代码示例:
app.js:
var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser('secret'));
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', indexRouter);
app.use('/users', usersRouter);
// catch 404 and forward to error handler
app.use(function(req, res, next) {
next(createError(404));
});
// error handler
app.use(function(err, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
// render the error page
res.status(err.status || 500);
res.render('error');
});
module.exports = app;
路由:
var express = require('express');
var router = express.Router();
var crypto= require('crypto');
/* GET home page. */
router.get('/list',(req,res)=>{
res.cookie('user','jeff',{signed:true});
res.send('商城列表页')
})
router.get('/admin',(req,res)=>{
res.send(req.signedCookies.user);
// res.send('hhh');
})
router.get('/secret',(req,res)=>{
let password='123';
//加密
let sf = crypto.createHash('md5');
sf.update(password);
//加密的二进制数据以字符串的形式显示
let content=sf.digest('hex');
// res.send(content);
//解密
let obj={
content:password
}
res.send(obj.content);
})
module.exports = router;