express-session 设置cookie加密解密的问题

我现在的

app.use(session({
    secret: 'myblog', //用来对session数据进行加密的字符串,必须。通过设置的 secret 字符串,来计算 hash 值并放在 cookie 中,使产生的 signedCookie 防篡改
    key: 'blog', //字符串,用于指定用来保存session的cookie名称,默认为coomect.sid.
    cookie: { maxAge: 1000 * 60 * 60 * 24 * 5 },
    resave: true,
    saveUninitialized: true,
    store: new mongoConnect({ //属性值为一个用来保存session数据的第三方存储对象
        url: 'mongodb://'+config.mongoDbHost+':'+config.mongoDbPort+'/'+config.mongoDbName
    })
}))

我想问下这个secret有什么用,我貌似不写也没问题吧?因为是根据这个去生成cookie的,但是又解密不出来?
我的想法的吧账号密码加密然后加上secret这个字段写到cookie里面去,然后再解密出来,但是加密写cookie的时候是不是会重置

key: 'blog', //字符串,用于指定用来保存session的cookie名称,默认为coomect.sid.
cookie: { maxAge: 1000 * 60 * 60 * 24 * 5 }

上面这些值,那我最开始上面设置的还有什么用?

阅读 4.3k
1 个回答

账号密码加密写到cookie里的意义是什么?
secret的作用你的注释已经解释了,在做请求权限验证的时候用signedCookie验证签名的正确性从而确定请求发送的合法性。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题