Heim  >  Artikel  >  PHP-Framework  >  Laravel – Verschlüsselung

Laravel – Verschlüsselung

PHPz
PHPzOriginal
2024-08-27 10:51:13829Durchsuche

Verschlüsselung ist ein Prozess, bei dem ein einfacher Text mithilfe einiger Algorithmen in eine Nachricht umgewandelt wird, sodass kein Dritter die Informationen lesen kann. Dies ist hilfreich bei der Übertragung vertraulicher Informationen, da die Wahrscheinlichkeit für einen Eindringling geringer ist, die übertragenen Informationen ins Visier zu nehmen.

Die Verschlüsselung erfolgt mithilfe eines Prozesses namens „Kryptografie“. Der zu verschlüsselnde Text wird als „Plain Text“ bezeichnet und der Text oder die Nachricht, die nach der Verschlüsselung erhalten wird, wird als „Cipher Text“ bezeichnet. Der Prozess der Konvertierung von Chiffretext in Klartext wird als Entschlüsselung bezeichnet. Laravel verwendet die Verschlüsselungsprogramme AES-256 und AES-128, die Open SSL zur Verschlüsselung verwenden. Alle in Laravel enthaltenen Werte werden mit dem Protokoll „Message Authentication Code“ signiert, sodass der zugrunde liegende Wert nicht manipuliert werden kann, sobald er verschlüsselt ist

php artisan key:generateBitte beachten Sie, dass dieser Befehl den PHP-Generator für sichere Zufallsbytes verwendet und Sie die Ausgabe wie im folgenden Screenshot sehen können −

Der oben angegebene Befehl hilft bei der Generierung des Schlüssels die in Webanwendungen verwendet werden können. Sehen Sie sich den unten gezeigten Screenshot an −

Hinweis

Die Werte für die Verschlüsselung sind in der Datei config/app.php

richtig ausgerichtet, die zwei Parameter für die Verschlüsselung enthält, nämlich

key

und

cipher

. Wenn der Wert, der diesen Schlüssel verwendet, nicht richtig ausgerichtet ist, sind alle in Laravel verschlüsselten Werte unsicher. Diese Werte werden mit OpenSSL und AES-256 verschlüsselt. Alle verschlüsselten Werte werden mit dem Message Authentication Code (MAC) signiert, um auf etwaige Änderungen der verschlüsselten Zeichenfolge zu prüfen.

Artisan Key


Der unten gezeigte Code wird in einem Controller erwähnt und zum Speichern eines Geheimnisses oder einer vertraulichen Nachricht verwendet.

fill([
         'secret' => encrypt($request->secret)
      ])->save();
   }
}

EntschlüsselungsprozessDie Entschlüsselung der Werte erfolgt mit dem Entschlüsselungshelfer. Beachten Sie die folgenden Codezeilen:

use IlluminateContractsEncryptionDecryptException;

// Exception for decryption thrown in facade
try {
   $decrypted = decrypt($encryptedValue);
} catch (DecryptException $e) {
   //
}

Bitte beachten Sie, dass eine entsprechende Ausnahme ausgelöst wird, wenn der Entschlüsselungsprozess aufgrund der Verwendung eines ungültigen MAC nicht erfolgreich ist.


Das obige ist der detaillierte Inhalt vonLaravel – Verschlüsselung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Laravel – Artisan-KonsoleNächster Artikel:Laravel – Artisan-Konsole