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 alsEntschlüsselungbezeichnet.Laravel verwendet die VerschlüsselungsprogrammeAES-256undAES-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 Dateiconfig/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.
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 demEntschlü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!