4 votes

Qu'est-ce qu'un secret de session sécurisé ?

J'utilise express-session et je dois créer un secret de session.
J'ai lu que le secret est utilisé pour le hachage.

Quelle longueur et quels caractères doit avoir ce secret ?

Je pensais à une chaîne alphanumérique aléatoire comme celle-ci :
IqFic484907I0T552hiMQ1UCJimRGL55
Quelqu'un peut-il me donner des conseils à ce sujet ?

3voto

robertklep Points 29669

Le secret est utilisé pour signer le cookie d'identification de session, afin d'éviter que le cookie ne soit altéré.

Au final, le module responsable de la création de la signature est cookie-signature qui utilise crypto.createHmac() en utilisant le secret comme clé et l'algorithme SHA256 pour le hachage.

Je ne pense pas qu'il y ait une véritable limite supérieure à la longueur du secret (autre que, peut-être, la longueur maximale d'une chaîne de caractères dans Node, qui je pense n'existe même pas). Je pense que s'il est plus long que 256 bits (= 32 octets), il sera d'abord haché jusqu'à 32 octets.

Il n'y a pas non plus de limite aux caractères que vous pouvez mettre dans un secret. Une chaîne de caractères aléatoires, de 24 à 32 octets par exemple, devrait suffire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X