Flask 密钥长度

use*_*758 3 python secret-key flask

python Flask 应用程序中可以使用的最大密钥大小是多少?我在网上看到的所有示例,包括http://flask.pocoo.org/docs/0.12/quickstart/#sessions似乎都建议使用 192 位密钥,但我想知道是否可以使用 256 位密钥。

geo*_*xsh 5

Flask 用于itsdangerous.Signer进行会话数据签名,签名中使用的密钥不是您通过SECRET_KEY配置选项提供的密钥,而是通过HKDF派生的

默认情况下,Flask使用 HMAC-SHA1作为 HKDF 算法,您只能得到 160 位签名密钥,长度SECRET_KEY没有区别。为了获得256位会话签名密钥,您可以扩展flask.sessions.SecureCookieSessionInterface,更改digest_method为SHA256,当然,您仍然需要一个较长的随机数SECRET_KEY以获得足够的熵。