Table des matières
✅ 2. Crypt les données
✅ 3. Dégrypt les données
✅ 4. Exemple: stocker les données cryptées dans la base de données
Dans votre modèle (facultatif):
Maintenant, quand vous économisez:
? ️ Notes de sécurité
? Cryption manuel sans façade (facultatif)
✅ Résumé
Maison cadre php Laravel Comment crypter et déchiffrer les données dans Laravel?

Comment crypter et déchiffrer les données dans Laravel?

Jul 30, 2025 am 03:23 AM
laravel Cryptage et décryptage

Laravel utilise la façade de la crypte pour implémenter le chiffrement et le décryptage des données. Tout d'abord, assurez-vous qu'il existe une APP_KEY valide dans le fichier .env et générez-le via PHP Artisan Key: Generate; 1. Crypt des chaînes à l'aide de crypte :: EncryptString (), comme $ crypted = crypt :: EncryptString ('Bonjour, c'est secret!'); 2. Decrypt les données à l'aide de Crypt :: DecryptString ($ crypté) et capture de décryptexception avec un coup d'essai; 3. Dans le modèle, les lectures de stockage et de décryptage peuvent être automatiquement chiffrées par le biais d'accessoires et de modificateurs, tels que SetSSSnattribute et GOSSSATTRIBUT des méthodes; 4. Faites attention à ne pas utiliser le cryptage pour stocker les mots de passe. Hash :: Make () doit être utilisé. Une fois que App_Key modifie les données cryptées d'origine, elle ne sera pas déchiffrée. Évitez de chiffrer une grande quantité de données pour réduire les frais généraux. Le cryptage de fichiers nécessite le chiffre d'affaires avant le stockage. Résumé: Laravel fournit des services de chiffrement sécurisés et pratiques via l'algorithme AES-256-CBC, et utilisez raisonnablement la façade de la crypte et effectuez une gestion des exceptions et une gestion des clés pour garantir la sécurité des données.

Comment crypter et déchiffrer les données dans Laravel?

Laravel fournit un moyen simple et sécurisé de crypter et de déchiffrer les données à l'aide de son service de chiffrement intégré, qui exploite OpenSSL avec le chiffre AES-256-CBC par défaut. Cela garantit que les données sensibles (comme les clés d'API, les informations utilisateur ou les valeurs de configuration) peuvent être stockées ou transmises en toute sécurité.

Comment crypter et déchiffrer les données dans Laravel?

Voici comment vous pouvez crypter et déchiffrer les données dans Laravel:


✅ 1. Utilisez la façade de Crypt de Laravel

La façade Crypt de Laravel fournit une interface facile pour le chiffrement et le déchiffrement. Il faut que votre application ait un ensemble APP_KEY valide dans le fichier .env (qui est généré automatiquement pendant l'installation).

Comment crypter et déchiffrer les données dans Laravel?

Assurez-vous que votre .env contient quelque chose comme:

 App_Key = Base64: votre chaîne codée de base 64

Vous pouvez le générer en utilisant:

Comment crypter et déchiffrer les données dans Laravel?
 PHP Artisan Key: Générer

✅ 2. Crypt les données

Pour chiffrer les données, utilisez Crypt::encrypt() ou Crypt::encryptString() .

? Utilisez encryptString() pour les chaînes pour éviter les problèmes de sérialisation.

 Utiliser illuminate \ support \ FACADES \ Crypt;

$ crypted = crypte :: EncryptString («Bonjour, c'est secret!»);

Cela renvoie une chaîne cryptée qui ressemble:

 eyjpdii6inl ...

Vous pouvez stocker cela dans une base de données ou une session en toute sécurité.


✅ 3. Dégrypt les données

Pour décrypter, utilisez Crypt::decryptString() (pour les chaînes):

 essayer {
    $ decrypted = crypt :: decryptString ($ crypté);
    écho $ décrypté; // Sortie: Bonjour, c'est secret!
} catch (illuminer \ contracts \ Encryption \ decryptexception $ e) {
    // Gérer la défaillance du décryptage (par exemple, les données falsifiées, la mauvaise clé)
    Echo «Le décryptage a échoué!»;
}

⚠️ Enveloppez toujours le décryptage dans un bloc d'essai car les données non valides ou falsifiées lanceront une DecryptException .


✅ 4. Exemple: stocker les données cryptées dans la base de données

Supposons que vous ayez une table users avec un champ ssn (numéro de sécurité sociale) que vous souhaitez crypter.

Dans votre modèle (facultatif):

 Utiliser illuminate \ support \ FACADES \ Crypt;

L'utilisateur de classe étend le modèle
{
    // Ne stockez pas SSN brut
    SetSSSNATTRIBLE publique ($ Valeur)
    {
        $ this-> attributs ['ssn'] = crypt :: encryptString ($ value);
    }

    La fonction publique est en train de servir ($ valeur)
    {
        essayer {
            return crypt :: decryptString ($ value);
        } catch (\ illuminate \ contracts \ Encryption \ decryptexception $ e) {
            rendement «décryptage a échoué»;
        }
    }
}

Maintenant, quand vous économisez:

 User :: Create ([[
    'nom' => 'John Doe',
    'ssn' => '123-45-6789', // automatiquement crypté
]));

Lorsque vous lisez:

 $ user = user :: First ();
echo $ user-> ssn; // Décrypté automatiquement → "123-45-6789"

? ️ Notes de sécurité

  • Ne crypte jamais les mots de passe - utilisez plutôt Hash::make() .
  • Le chiffrement utilise votre APP_KEY . S'il change, toutes les données précédemment cryptées deviennent indésirables.
  • Évitez de crypter de grandes quantités de données - le cryptage ajoute des frais généraux et du stockage.
  • Pour chiffrer les fichiers, envisagez de crypter le contenu du fichier avant d'enregistrer et de décrypter après la lecture.

? Cryption manuel sans façade (facultatif)

Vous pouvez également utiliser directement le conteneur de service:

 app ('Encryptter') -> EncryptString ('data');
app ('Encrypter') -> decryptString ($ EncryptedData);

✅ Résumé

Tâche Code
Crypt de la chaîne Crypt::encryptString('secret')
Décrypter la chaîne Crypt::decryptString($encrypted)
Gérer les erreurs Utilisez try/catch
Encrypte automatique / décrypteur dans les modèles Utiliser des accessoires / mutateurs

Fondamentalement, Laravel rend le cryptage simple et sécurisé hors de la boîte - utilisez simplement Crypt::encryptString() et Crypt::decryptString() avec une gestion des erreurs appropriée. Protégez votre APP_KEY et jamais exposer les données décryptées inutilement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Porce de variable PHP expliquée
1 Il y a quelques mois By 百草
Commentant le code en php
1 Il y a quelques mois By 百草
<🎜>: Grow A Garden - Guide complet des marchands itinérants
4 Il y a quelques semaines By Jack chen
Conseils pour écrire des commentaires PHP
1 Il y a quelques mois By 百草

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1511
276
Comment implémenter un système de référence à Laravel? Comment implémenter un système de référence à Laravel? Aug 02, 2025 am 06:55 AM

Créer un tableau de références pour enregistrer les relations de recommandation, y compris les références, les références, les codes de recommandation et le temps d'utilisation; 2. Définir l'appartenance et les relations HasMany dans le modèle d'utilisateur pour gérer les données de recommandation; 3. Générer un code de recommandation unique lors de l'enregistrement (peut être implémenté via des événements modèles); 4. Capturez le code de recommandation en interrogeant les paramètres lors de l'enregistrement, établissez une relation de recommandation après vérification et empêchez l'auto-recommandation; 5. Déclencher le mécanisme de récompense lorsque les utilisateurs recommandés terminent le comportement spécifié (ordre d'abonnement); 6. Générer des liens de recommandation partageables et utiliser les URL de signature Laravel pour améliorer la sécurité; 7. Afficher les statistiques de recommandation sur le tableau de bord, telles que le nombre total de recommandations et de nombres convertis; Il est nécessaire de s'assurer que les contraintes de base de données, les séances ou les cookies sont persistées,

Comment gérer un projet Laravel? Comment gérer un projet Laravel? Jul 28, 2025 am 04:28 AM

CheckPhp> = 8.1, compositeur, etwebserver; 2.CloneOrCreateProjectAndrunCompoSeRinstall; 3.Copy.env.Exampleto.envandrunphPartisanKey : générer; 4.setDatabaseCredentialSin.envandrunphPartisanMigrate - Seed; 5.StartServerWithPhPartisansEserve; 6. Optionallyrunnpmins

Comment semer une base de données à Laravel? Comment semer une base de données à Laravel? Jul 28, 2025 am 04:23 AM

Créer un fichier de semences: utilisez PhPartisanMake: SeeDerUserSederder pour générer la classe Seeder et insérer des données via la requête Model Factory ou Database dans la méthode d'exécution; 2. Appelez un autre Seeder dans DatabaseSeseder: enregistrez USERSEDEDER, POSTSEEDER, etc. dans l'ordre via $ this-> call () pour s'assurer que la dépendance est correcte; 3. Exécutez Seeder: Exécutez PHPARTISANDB: graines pour exécuter tous les semants enregistrés, ou utilisez du phpartisanMigrate: Fresh - Seed pour réinitialiser et remplir les données; 4

Comment implémenter les indicateurs de fonctionnalité dans une application Laravel? Comment implémenter les indicateurs de fonctionnalité dans une application Laravel? Jul 30, 2025 am 01:45 AM

ChoOSEAFEUREFLAGSTATTECYSUCHASCONFIG, basé sur la base de données, Orthird-PartyToolsLILLFlagsmith.2.SetUpadatabase-DrivensystemByCreatAmamigrationForaFeate_Flagstablewithname, Activé, Andrulesfields, Therunthemigration.3.CreateafateAtteflagModelwithe

Comment construire une API REST avec Laravel? Comment construire une API REST avec Laravel? Jul 30, 2025 am 03:41 AM

Créer un nouveau projet Laravel et démarrer le service; 2. Générez le modèle, la migration et le contrôleur et exécuter la migration; 3. Définissez l'itinéraire RESTful dans les routes / api.php; 4. Implémentez la méthode d'addition, de suppression, de modification et de requête dans Post Controller et renvoyez la réponse JSON; 5. Utilisez Postman ou Curl pour tester la fonction API; 6. Ajouter éventuellement l'authentification de l'API via Sanctum; Enfin, obtenez une structure claire, Laravelrestapi complète et extensible, adaptée aux applications pratiques.

Qu'est-ce que l'ORM éloquent à Laravel? Qu'est-ce que l'ORM éloquent à Laravel? Jul 29, 2025 am 03:50 AM

Eloquentorm est le système de cartographie relationnel d'objet intégré de Laravel. Il exploite la base de données via la syntaxe PHP au lieu de SQL native, ce qui rend le code plus concis et plus facile à maintenir; 1. Chaque tableau de données correspond à une classe de modèle, et chaque enregistrement existe comme instance de modèle; 2. Adopter le mode d'enregistrement actif et l'instance du modèle peut être enregistrée ou mise à jour par elle-même; 3. Prise en charge de l'affectation par lots et l'attribut à remplissage $ doit être défini dans le modèle pour garantir la sécurité; 4. Fournir un fort soutien relationnel, comme un à un, un-à-plusieurs, plusieurs à plusieurs, etc., et vous pouvez accéder aux données associées via des appels de méthode; 5. Constructeur de requête intégré, où, OrderBy et d'autres méthodes peuvent être appelés enchaînés pour construire des requêtes; 6. Prise en charge des accessoires et des modificateurs, qui peuvent formater le numéro lors de l'obtention ou de la définition d'attributs.

Que sont les contrats de référentiel à Laravel? Que sont les contrats de référentiel à Laravel? Aug 03, 2025 am 12:10 AM

Le modèle de référentiel est un modèle de conception utilisé pour découpler la logique métier à partir de la logique d'accès aux données. 1. Il définit les méthodes d'accès aux données via des interfaces (contrat); 2. Les opérations spécifiques sont implémentées par la classe de référentiel; 3. Le contrôleur utilise l'interface par injection de dépendance et ne contacte pas directement la source de données; 4. Les avantages incluent un code soigné, une testabilité solide, une maintenance facile et une collaboration d'équipe; 5. Applicable aux projets moyens et grands, les petits projets peuvent utiliser directement le modèle.

Qu'est-ce que le chargement impatient à Laravel? Qu'est-ce que le chargement impatient à Laravel? Jul 27, 2025 am 04:14 AM

EAGER DÉLOCKINGPREVENTSTHEN 1QUERYPROBLBBYDOLODINGRELATIONSHIPSUPFRONT.THEN 1PROBLEMOCCURSWHEN1QUERYFetCheSrecords (par exemple, 100posts) et NadditionalQueriesFetchRelatedData (par exemple, AuthorForCost), résultant en 101quelles.

See all articles