什么是安全会话秘密?

时间:2017-05-10 08:58:42

标签: node.js session express express-session

我正在使用快速会话,我需要创建会话密钥 我已经读过这个秘密用于散列。

这个秘密应该有多长时间和哪些角色?

我正在考虑一个像这样的随机字母数字字符串:
IqFic484907I0T552hiMQ1UCJimRGL55
任何人都可以就此提出建议吗?

1 个答案:

答案 0 :(得分:3)

该秘密用于签署会话ID cookie,以防止cookie被篡改。

最后,负责创建签名的模块是cookie-signature,它使用crypto.createHmac()使用密钥作为密钥,使用SHA256算法进行散列。

我认为秘密的长度没有真正的上限(除了可能是Node中字符串的最大长度,我甚至认为不存在)。我认为如果它长于256位(= 32字节),它将首先被哈希下调到32字节。

您对秘密中的哪些字符也没有限制。一串随机的alnum字符,比如24到32个字节长,应该没问题。