Django 秘密鍵ジェネレーター

Django Secret Key Generator — デバイス上で生成され、送信されることはありません。

Django SECRET_KEY

Paste into your .env:

 

これにより、Django 独自の get_random_secret_key() が使用するのと同じアルファベットを使用して 50 文字の SECRET_KEY が生成されるため、取得したものは管理コマンドの実行と区別できません。これはブラウザの CSPRNG によって生成され、どこにも送信されることはありません。

よくある質問

Web サイトで秘密キーを生成するのは安全ですか?

何も伝わらないからここにある。キーは、オペレーティング システムが使用するものと同じ暗号ジェネレーターであるブラウザー内の crypto.getRandomValues によって生成され、ネットワークにはアクセスされません。インターネットから切断してもこのページは引き続き機能します。これがそれを証明する最も簡単な方法です。

Django は SECRET_KEY を何に使用しますか?

セッション Cookie、パスワード リセット トークン、CSRF トークン、およびアプリが生成する署名付きデータに署名します。これを知っている人は誰でもセッションを作成し、任意のユーザーとしてログインできます。そのため、バージョン管理にコミットしたり、ステージングと運用環境の間で共有したりしてはなりません。

環境ごとに異なるキーを使用する必要がありますか?

はい。開発、ステージング、実稼働にはそれぞれ独自のキーが必要です。共有するということは、どこでもリークが発生し、どこでも侵害されることを意味し、ステージングで作成されたトークンが本番環境に対してリプレイされることになります。

キーはどこに保管する必要がありますか?

ソース管理ではなく、環境変数またはシークレット マネージャー内で。最初のコミットの前に、.env ファイルを .gitignore に追加します。シークレットが git 履歴に保存されると、後で削除しても漏洩は解除されず、キーをローテーションする必要があります。

これは Windows、Mac、iPhone、Android で動作しますか?

はい。 Windows、Mac、Linux、iPhone、Android 上の最新のブラウザで実行でき、何もインストールする必要はなく、アカウントも必要ありません。 Chrome、Edge、Firefox、Safari はすべてサポートされています。