Django秘密密钥生成

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django秘密密钥生成相关的知识,希望对你有一定的参考价值。

我正在为Django后端制作一个锅炉板,我需要能够将它下载到下一个下载它的人显然无法访问我的secrot键,或者有一个不同的。我一直在研究一些选项,并在这个过程中成为实验。我尝试过以下方法:

from django.core.management.utils import get_random_secret_key 
SECRET_KEY = get_random_secret_key()

这似乎有效。我假设它每次运行python manage.py runserver时都会生成一个新密钥。这会对生产环境造成问题吗?这真的是一个heroku部署,有没有更好的方式我应该用公共回购做这个?我想我现在正在做的事情是打破一些东西。

答案

你猜是正确的,秘密密钥不应该在每次运行时改变。其他人应该手动创建自己的,然后承诺他们的回购。另一种方法是从环境变量中加载它并让它们将键放在那里。

关于第二个问题 - 你需要做的唯一原因是妥协。根据文件:

密钥用于:

如果您使用除django.contrib.sessions.backends.cache之外的任何其他会话后端,或者使用默认的get_session_auth_hash(),则为所有会话。

如果您使用的是CookieStorage或FallbackStorage,则为所有消息。

所有PasswordResetView令牌。

除非提供不同的密钥,否则使用加密签名。

因此,更改它可能会注销所有用户并使密码/重置链接无效。这不是你想要定期做的事情,而不是一场彻底的灾难。

以上是关于Django秘密密钥生成的主要内容,如果未能解决你的问题,请参考以下文章

服务如何生成和使用公共和秘密 API 密钥?

使用boto3,从整个文件夹或文件从一个s3存储桶复制到同一区域的另一个文件夹时,如何提供访问密钥和秘密访问密钥?

为 JWT 生成密钥?

sql 这些代码片段将演示如何逐步使用PolyBase。你应该有一个blob存储和存储秘密方便

在 App Engine 上的 Django 应用上存储客户端机密

如何使用 API 密钥和秘密保护 Spring Boot API