Qu’est-ce que la façade Crypt
Le service de chiffrement de Laravel utilise OpenSSL avec AES-256-CBC (ou AES-128-CBC) et propose une interface simple pour chiffrer et déchiffrer des valeurs. Toutes les valeurs chiffrées par Laravel sont signées par un Message Authentication Code (MAC). Le déchiffrement échoue donc si la valeur a été altérée.Configuration
Génération d’APP_KEY
Avant d’utiliser le chiffrement, la clékey de config/app.php doit être définie.
Sa valeur provient de la variable d’environnement APP_KEY.
Générez une clé sûre avec php artisan key:generate.
Une clé cryptographiquement sûre est produite via le générateur d’aléa sécurisé de PHP.
.env.
Rotation de la clé de chiffrement
Changer la clé déconnecte toutes les sessions utilisateur authentifiées, car Laravel chiffre l’ensemble des cookies, y compris ceux de session. De plus, les données chiffrées avec l’ancienne clé ne peuvent plus être déchiffrées. Pour atténuer cela, listez les anciennes clés séparées par une virgule dansAPP_PREVIOUS_KEYS.
Chiffrement
UtilisezencryptString de la façade Crypt pour chiffrer une valeur.
La valeur chiffrée est produite avec OpenSSL et AES-256-CBC, et signée par MAC.
Déchiffrement
UtilisezdecryptString pour déchiffrer une valeur.
Si le MAC est invalide (ou en cas d’échec), une DecryptException est levée.
Cast de modèle
Sur un modèle Eloquent, le castencrypted automatise le chiffrement/déchiffrement d’un attribut.
Les casts
encrypted:* utilisent en interne Crypt::encrypt et Crypt::decrypt.
Utilisez le type de colonne text ou longText en base.Exemple : stockage chiffré d’informations personnelles
Modèle typique de stockage sécurisé d’informations personnelles (numéro national, numéro de carte…).Migration
Modèle
Contrôleur
Récapitulatif
Prochaines étapes
Hachage
Apprenez à hacher et vérifier les mots de passe en toute sécurité.
Autorisation
Contrôlez l’accès à l’aide des policies et des gates.