{ geekBlog }

a geeky blog about things

Django Secret Key erzeugen

am 7. Februar 2018 von cp

Je nachdem, wie man seine Django-Konfiguration verwaltet, stellt sich die Herausforderung, dass man einen neuen Secret-Key benötigt. Und an der Stelle möchte ich jeden dazu raten, niemals seinen Secret Key auf mehreren Rechnern zu nutzen (außer es ist ein Cluster, da ist es quasi ein Muss) oder gar in ein VCS zu importieren.

Da Django hier nichts spezielles vorgibt, kann der String an sich beliebig aussehen, solange er nicht leer ist. Somit kann man z.B. pwgen benutzen, wenn man sich einen neuen Key erstellen möchte. Um ebenfalls einen 50-Zeichen langen Key zu erhalten (django-admin.py startproject erzeugt einen 50 Zeichen langen Key), kann man z.B. folgendes ausführen:

$ pwgen -sy 50 1

Um das gleiche zu machen, wie Django auch, kann man sich folgendes Skript schreiben:

import random

random = random.SystemRandom()
chars = 'abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)'
length = 50
print(''.join(random.choice(chars) for i in range(length)))