Wat is de Crypt-facade?
De versleutelingsservice van Laravel biedt een eenvoudige interface voor het versleutelen en ontsleutelen van waarden met AES-256-CBC-versleuteling (of AES-128-CBC) via OpenSSL. Alle in Laravel versleutelde waarden zijn ondertekend met een message authentication code (MAC). Daardoor kan een versleutelde waarde die is gemanipuleerd niet meer worden ontsleuteld.Configuratie
De APP_KEY genereren
Voordat je versleuteling gebruikt, moet dekey-instelling in config/app.php zijn geconfigureerd.
Deze waarde wordt gelezen uit de omgevingsvariabele APP_KEY.
Genereer een veilige sleutel met het commando php artisan key:generate.
Er wordt een cryptografisch veilige sleutel gegenereerd met de veilige willekeurige-getallengenerator van PHP.
.env-bestand.
Rotatie van de versleutelingssleutel
Als je de versleutelingssleutel wijzigt, worden alle geauthenticeerde gebruikerssessies uitgelogd. Dat komt doordat Laravel alle cookies versleutelt, inclusief de sessiecookie. Bovendien kan data die met de vorige sleutel is versleuteld niet meer worden ontsleuteld. Om dit probleem te verzachten, kun je oude sleutels kommagescheiden opsommen inAPP_PREVIOUS_KEYS.
Versleutelen
Versleutel waarden met deencryptString-methode van de Crypt-facade.
Versleutelde waarden gebruiken OpenSSL met AES-256-CBC-versleuteling en worden ondertekend met een MAC.
Ontsleutelen
Ontsleutel versleutelde waarden met dedecryptString-methode van de Crypt-facade.
Als het ontsleutelen niet lukt, bijvoorbeeld omdat de MAC ongeldig is, wordt een DecryptException gegooid.
Modelcasts
Met deencrypted-cast op een Eloquent-model kun je attributen automatisch laten versleutelen en ontsleutelen.
De
encrypted:*-casts gebruiken intern Crypt::encrypt en Crypt::decrypt.
Als kolomtype in de database raden we text of longText aan.Praktijkvoorbeeld: persoonsgegevens versleuteld opslaan
Een typisch patroon om persoonsgegevens (burgerservicenummers, creditcardnummers, enz.) veilig in de database op te slaan.Migratie
Model
Controller
Samenvatting
Volgende stappen
Hashing
Leer hoe je wachtwoorden veilig hasht en verifieert.
Autorisatie
Uitleg over toegangscontrole met policies en gates.