Was ist die Crypt-Facade?
Der Verschlüsselungsdienst von Laravel stellt eine einfache Schnittstelle zur Verfügung, um Werte per OpenSSL und AES-256-CBC (bzw. AES-128-CBC) zu ver- und entschlüsseln. Alle in Laravel verschlüsselten Werte werden mit einem Message Authentication Code (MAC) signiert. Wird ein verschlüsselter Wert manipuliert, lässt er sich damit nicht mehr entschlüsseln.Konfiguration
APP_KEY erzeugen
Vor der Verwendung der Verschlüsselung muss die Optionkey in config/app.php gesetzt sein.
Sie wird aus der Umgebungsvariable APP_KEY gelesen.
Erzeugen Sie einen sicheren Schlüssel mit dem Befehl php artisan key:generate.
Er nutzt PHPs sicheren Zufallszahlengenerator und erstellt kryptografisch starke Schlüssel.
.env-Datei gespeichert.
Rotation des Verschlüsselungsschlüssels
Wenn Sie den Verschlüsselungsschlüssel ändern, werden alle authentifizierten Nutzersitzungen abgemeldet. Grund ist, dass Laravel alle Cookies – einschließlich Session-Cookies – verschlüsselt. Zudem lassen sich mit einem alten Schlüssel verschlüsselte Daten nicht mehr entschlüsseln. Um dieses Problem abzumildern, können Sie inAPP_PREVIOUS_KEYS alte Schlüssel kommagetrennt hinterlegen.
Verschlüsseln
Verschlüsseln Sie Werte mit der MethodeencryptString der Facade Crypt.
Die Werte werden per OpenSSL und AES-256-CBC verschlüsselt und mit einem MAC signiert.
Entschlüsseln
Entschlüsseln Sie Werte mit der MethodedecryptString der Facade Crypt.
Kann der Wert nicht korrekt entschlüsselt werden – etwa wegen eines ungültigen MAC –, wird eine DecryptException ausgelöst.
Model-Casts
Mit dem Castencrypted verschlüsselt Eloquent Attribute automatisch beim Speichern und entschlüsselt sie beim Auslesen.
Die
encrypted:*-Casts nutzen intern Crypt::encrypt und Crypt::decrypt.
Als Datenbankspaltentyp empfehlen sich text oder longText.Praxisbeispiel: personenbezogene Daten verschlüsselt speichern
Ein typisches Muster für die sichere Ablage personenbezogener Informationen (z. B. Sozialversicherungsnummern oder Kreditkartendaten).Migration
Model
Controller
Zusammenfassung
Nächste Schritte
Hashing
Erfahren Sie, wie Sie Passwörter sicher hashen und prüfen.
Autorisierung
Steuern Sie Zugriffe mit Policies und Gates.