Générateur de clé secrète Django

Django Secret Key Generator — généré sur votre appareil, jamais transmis.

Django SECRET_KEY

Paste into your .env:

 

Cela génère un SECRET_KEY de 50 caractères utilisant le même alphabet que celui utilisé par Django get_random_secret_key(), donc ce que vous obtenez est impossible à distinguer de l'exécution de la commande de gestion. Il est produit par le CSPRNG de votre navigateur et n’est jamais transmis nulle part.

Foire aux questions

Est-il sécuritaire de générer une clé secrète sur un site Web ?

C'est ici, car rien ne se transmet. La clé est produite par crypto.getRandomValues ​​dans votre propre navigateur – le même générateur cryptographique que votre système d'exploitation utilise – et ne touche jamais le réseau. Vous pouvez vous déconnecter d’Internet et cette page fonctionne toujours, ce qui est le moyen le plus simple de le prouver.

Pourquoi Django utilise-t-il SECRET_KEY ?

Il signe les cookies de session, les jetons de réinitialisation de mot de passe, les jetons CSRF et toutes les données signées produites par votre application. Quiconque le connaît peut créer une session et se connecter en tant qu'utilisateur, c'est pourquoi il ne doit jamais être soumis au contrôle de version ni partagé entre la préparation et la production.

Dois-je utiliser une clé différente pour chaque environnement ?

Oui. Le développement, la mise en scène et la production doivent chacun avoir leur propre clé. En partager un signifie qu’une fuite n’importe où compromet partout, et cela permet à un jeton créé lors de la mise en scène d’être rejoué contre la production.

Où doit être stockée la clé ?

Dans une variable d'environnement ou un gestionnaire de secrets, jamais dans un contrôle de code source. Ajoutez votre fichier .env à .gitignore avant la première validation - une fois qu'un secret est dans l'historique de git, sa suppression ultérieure ne le supprime pas et la clé doit être pivotée.

Est-ce que cela fonctionne sur Windows, Mac, iPhone et Android ?

Oui. Il fonctionne dans n'importe quel navigateur moderne sous Windows, Mac, Linux, iPhone et Android sans rien à installer et aucun compte requis. Chrome, Edge, Firefox et Safari sont tous pris en charge.