Flask 密钥生成器

Flask 密钥生成器 — 在您的设备上生成,从未传输。

Flask SECRET_KEY

Paste into your .env:

 

这会生成 64 个十六进制字符(32 个随机字节),这正是 Flask 文档建议使用 Secrets.token_hex(32) 生成的内容。它来自浏览器的加密随机源,并且永远不会发送到任何地方。

常见问题解答

在网站上生成密钥安全吗?

它就在这里,因为没有任何内容被传输。密钥由您自己的浏览器内的 crypto.getRandomValues 生成(与您的操作系统使用的加密生成器相同),并且永远不会接触网络。您可以断开互联网连接,该页面仍然有效,这是证明这一点的最简单方法。

如果我的 Flask SECRET_KEY 泄漏,会发生什么情况?

Flask 中的会话 cookie 使用此密钥进行签名,而不是加密。持有它的任何人都可以读取会话内容并为任何用户伪造有效会话 - 因此将泄漏视为完全身份验证绕过并立即轮换它。

我应该为每个环境使用不同的密钥吗?

是的。开发、登台和制作都必须有自己的密钥。共享意味着任何地方的泄漏都会导致任何地方的泄露,并且它允许在生产环境中重放在暂存阶段铸造的代币。

密钥应该存储在哪里?

在环境变量或机密管理器中,绝不在源代码控制中。在第一次提交之前将 .env 文件添加到 .gitignore — 一旦秘密存在于 git 历史记录中,稍后将其删除并不会泄露它,并且必须轮换密钥。

这适用于 Windows、Mac、iPhone 和 Android 吗?

是的。它可以在 Windows、Mac、Linux、iPhone 和 Android 上的任何现代浏览器中运行,无需安装任何内容,也无需帐户。 Chrome、Edge、Firefox 和 Safari 均受支持。