Maison >cadre php >Laravel >Comment résoudre l'erreur Laravel Le MAC n'est pas valide

Comment résoudre l'erreur Laravel Le MAC n'est pas valide

little bottle
little bottleavant
2019-04-24 10:45:254092parcourir

Cet article parle principalement de la solution à l'erreur Laravel. Le MAC n'est pas valide. Il a une certaine valeur de référence et les amis intéressés peuvent en apprendre davantage.

Lors de l'utilisation du framework laravel pour le développement de sites Web, nous utiliserons la classe Crypt de laravel pour crypter le mot de passe de l'utilisateur afin d'atteindre l'objectif de cryptage des informations. La classe Crypt s'appuiera sur APP_KEY lors du cryptage des données, donc lors du remplacement de APP_KEY, puis utilisez la fonction Crypt::decrypt() lors de la vérification de la connexion, l'erreur The MAC is invalid sera signalée.

La solution consiste donc à obtenir les données originales de l'utilisateur en déchiffrant l'APP_KEY d'origine, puis à recrypter les données utilisateur en fonction de la nouvelle APP_KEY et à les stocker dans la base de données .

Les instructions manuelles sont les suivantes :
Paramètres :
Avant d'utiliser la fonction de cryptage de Laravel, vous devez définir une valeur pour le paramètre APP_KEY dans le fichier de configuration config/app.php. une valeur contenant Une chaîne de 32 caractères aléatoires. Si cette valeur n'est pas définie correctement, toutes les données cryptées par Laravel ne sont pas sécurisées.
Utilisation de base :
Une donnée peut être cryptée via la façade Crypt. Tout le cryptage utilise le chiffrement OpenSSL et AES-256-CBC. De plus, toutes les données cryptées se verront attribuer un « Code d'authentification de message » (MAC) pour empêcher la falsification de la chaîne cryptée.

Cela montre que la valeur générée par encrypt est liée à APP_KEY, et après avoir crypté les données, un mac sera donné pour vérification de sécurité lors du déchiffrement puisque l'APP_KEY doit être régénéré après les modifications du projet. l'environnement, les données générées précédemment ne peuvent pas être déchiffrées dans le nouvel environnement.

Le rapport d'erreur ci-dessus indiquant que la valeur MAC n'est pas valide n'est pas l'adresse MAC de l'ordinateur, mais le cryptage de Laravel est lié à sa clé app_key, et chaque donnée reçoit un code de vérification Mac spécial .

Après avoir modifié l'environnement, vous devez d'abord régénérer APP_KEY, puis les données cryptées à l'aide du chiffrement dans la base de données doivent être rechiffrées.

Tutoriels associés : Tutoriel vidéo PHP

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer