Laravel-App-Schlüsselgenerator
Laravel App Key Generator – wird auf Ihrem Gerät generiert, niemals übertragen.
Paste into your .env:
Dadurch werden 32 zufällige Bytes erstellt, die als Base64 mit dem Präfix base64: codiert sind – Byte für Byte schreibt das Format php artisan key:generate in Ihre .env. Wird lokal vom CSPRNG Ihres Browsers generiert.
Häufig gestellte Fragen
Ist es sicher, einen geheimen Schlüssel auf einer Website zu generieren?
Es ist hier, weil nichts übertragen wird. Der Schlüssel wird von crypto.getRandomValues in Ihrem eigenen Browser erzeugt – dem gleichen kryptografischen Generator, den Ihr Betriebssystem verwendet – und berührt niemals das Netzwerk. Sie können die Verbindung zum Internet trennen und diese Seite funktioniert weiterhin. Dies ist der einfachste Weg, dies zu beweisen.
Warum muss der Laravel APP_KEY ein base64:-Präfix haben?
Laravel sucht nach diesem Präfix, um zu erkennen, dass der Wert Base64-codiert ist und nicht um eine Rohzeichenfolge, und dekodiert ihn, um die 32 Rohbytes zu erhalten, die die AES-Verschlüsselung benötigt. Ohne sie verwendet Laravel die Literalzeichen als Schlüssel, die die falsche Länge haben und einen Fehler auslösen.
Sollte ich für jede Umgebung einen anderen Schlüssel verwenden?
Ja. Entwicklung, Inszenierung und Produktion müssen jeweils über einen eigenen Schlüssel verfügen. Das Teilen eines Tokens bedeutet, dass überall ein Leck entsteht, das überall kompromittiert wird, und es ermöglicht, dass ein im Staging geprägter Token gegen die Produktion wiederholt werden kann.
Wo soll der Schlüssel aufbewahrt werden?
In einer Umgebungsvariablen oder einem Secrets-Manager, niemals in der Quellcodeverwaltung. Fügen Sie Ihre .env-Datei vor dem ersten Commit zu .gitignore hinzu. Sobald sich ein Geheimnis im Git-Verlauf befindet, wird es durch späteres Entfernen nicht mehr freigegeben und der Schlüssel muss rotiert werden.
Funktioniert das unter Windows, Mac, iPhone und Android?
Ja. Es läuft in jedem modernen Browser unter Windows, Mac, Linux, iPhone und Android, ohne dass eine Installation erforderlich ist und kein Konto erforderlich ist. Chrome, Edge, Firefox und Safari werden alle unterstützt.