【问题标题】:node express sessions - does secret need to be unique somehow?节点快速会话 - 秘密是否需要以某种方式唯一?
【发布时间】:2018-04-12 11:36:45
【问题描述】:

所以我使用了 express-session https://github.com/expressjs/session,我想知道这个秘密是否需要对每个用户都是唯一的。我似乎找不到任何说明它的用途只是列出的内容:

app.use(session({
  secret: 'keyboard cat',
  resave: false,
  saveUninitialized: true,
  cookie: { secure: true }
}))

我目前只是使用bcrypt 创建秘密,但我不确定这是否会在我更新服务器文件时影响会话。

var salt1 = bcrypt.genSaltSync();
var salt2 = bcrypt.genSaltSync();
var secret = bcrypt.hashSync(salt1 + salt2, 10);
app.use(session({
    secret, // set this to a long random string!,
}));

会话是否应该在函数本身内部生成,即function generateSession()

【问题讨论】:

    标签: node.js express session session-cookies


    【解决方案1】:

    密码对所有用户都是一样的。您提供的“秘密”只是充当会话哈希函数的盐。您使用的方法与任何方法一样好,因为它会在每次重新启动应用程序时生成一个新的盐。

    【讨论】:

    • 所以每次重启应用时salt不会和secret一样?每次重新启动应用程序时盐算法都会改变吗?
    • 正确。每次启动应用程序时都会有所不同。他的实现调用 genSalt,它每次都会生成新的随机盐。 bcrypt 哈希每次都会不同。
    猜你喜欢
    • 1970-01-01
    • 2014-06-14
    • 1970-01-01
    • 2022-10-15
    • 2015-12-28
    • 1970-01-01
    • 2018-01-05
    • 1970-01-01
    • 2018-05-29
    相关资源
    最近更新 更多