node.js - 什么是安全 session secret ?

标签 node.js session express express-session

我正在使用 express-session,我需要创建一个 session key 。
我读到 secret 用于哈希。

这个 secret 应该有多长,有哪些字符?

我在想像这样的随机字母数字字符串:
IqFic484907I0T552hiMQ1UCJimRGL55
谁能就此给我建议?

最佳答案

secret 用于对 session id cookie 进行签名,防止 cookie 被篡改。

最后,负责创建签名的模块是cookie-signature ,它使用 crypto.createHmac()使用 secret 作为 key 和 SHA256 算法进行哈希。

我认为 secret 的长度没有真正的上限(除了 Node 中字符串的最大长度,我什至认为它不存在)。我认为如果它的长度超过 256 位(= 32 字节),它将首先被散列为 32 字节。

对于您放入 secret 的字符也没有限制。一串随机的 alnum 字符,比如说 24 到 32 字节长,应该就可以了。

关于node.js - 什么是安全 session secret ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43887865/

相关文章:

javascript - 在 Bluebird Promise 中使用一个函数的结果调用另一个函数

node.js - WEBPACK 弃用数组以使用 web pack 5 在 angular 11 中设置警告

javascript - 在 Node 中,JavaScript 大小写问题,windows vs mac

node.js - nvm安装了node和npm,安装本地browserify时出现符号链接(symbolic link)问题

authentication - 将 FaunaDB 客户端 secret 存储在 cookie 中安全吗?

javascript - 主干模型——扩展api调用

Node.js 服务器 GET 到单独的 API 在使用几个小时后失败

java - 如何在查询执行期间停止 session 以保存已保存的对象?

Codeigniter 和多个并发登录

mysql - 我真的需要在sequelize js 中定义模型吗?