In diesem Artikel geht es hauptsächlich um die Lösung des von Laravel gemeldeten Fehlers „Der MAC ist ungültig“. Es hat einen gewissen Referenzwert und interessierte Freunde können daraus lernen.
Wenn wir das Laravel-Framework für die Website-Entwicklung verwenden, verwenden wir die Crypt-Klasse von Laravel, um das Passwort des Benutzers zu verschlüsseln, um den Zweck der Informationsverschlüsselung zu erreichen. Die Crypt-Klasse verlässt sich beim Verschlüsseln von Daten auf APP_KEY, wenn sie also APP_KEY ersetzt. und dann die Funktion Crypt::decrypt() während der Anmeldeüberprüfung verwenden, wird der Fehler „Der MAC ist ungültig“ gemeldet.
Die Lösung besteht also darin, die Originaldaten des Benutzers durch Entschlüsselung des ursprünglichen APP_KEY zu erhalten und dann die Benutzerdaten entsprechend dem neuen APP_KEY erneut zu verschlüsseln und in der Datenbank zu speichern .
Die manuellen Anweisungen lauten wie folgt:
Einstellungen:
Bevor Sie die Verschlüsselungsfunktion von Laravel verwenden, müssen Sie einen Wert für den Parameter APP_KEY in der Konfigurationsdatei config/app.php festlegen ein Wert, der eine Zeichenfolge mit 32 zufälligen Zeichen enthält. Wenn dieser Wert nicht korrekt eingestellt ist, sind alle von Laravel verschlüsselten Daten unsicher.
Grundlegende Verwendung:
Ein Datenelement kann über die Crypt-Fassade verschlüsselt werden. Die gesamte Verschlüsselung verwendet OpenSSL und AES-256-CBC-Verschlüsselung. Darüber hinaus wird allen verschlüsselten Daten ein „Message Authentication Code“ (MAC) zugewiesen, um eine Manipulation der verschlüsselten Zeichenfolge zu verhindern.
Dies zeigt, dass der durch encrypt generierte Wert mit APP_KEY zusammenhängt und nach der Verschlüsselung der Daten ein Mac zur Sicherheitsüberprüfung beim Entschlüsseln bereitgestellt wird, da der APP_KEY nach Projektänderungen neu generiert werden muss In der Umgebung können die zuvor generierten Daten in der neuen Umgebung nicht entschlüsselt werden .
Der obige Fehlerbericht, dass der MAC-Wert ungültig ist, ist nicht die Mac-Adresse des Computers, sondern die Verschlüsselung von Laravel hängt mit seinem app_key zusammen, und alle Daten erhalten einen speziellen Mac-Bestätigungscode .
Nach dem Ändern der Umgebung müssen Sie zuerst APP_KEY neu generieren, und dann müssen die mit Encrypt in der Datenbank verschlüsselten Daten erneut verschlüsselt werden.
Verwandte Tutorials: PHP-Video-Tutorial
Das obige ist der detaillierte Inhalt vonSo beheben Sie den Laravel-Fehler: Der MAC ist ungültig. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!