Heim > Artikel > Backend-Entwicklung > Vollständiges Tutorial: So verschlüsseln und entschlüsseln Sie mit der PHP-Erweiterung MCrypt
Komplettes Tutorial: So verwenden Sie die PHP-Erweiterung MCrypt zur Ver- und Entschlüsselung
Einführung
In modernen Netzwerkanwendungen sind Datenvertraulichkeit und -sicherheit besonders wichtig. Um die Sicherheit der Datenübertragung und -speicherung zu gewährleisten, ist die Verschlüsselungstechnologie zu einem unverzichtbaren Werkzeug geworden. In PHP bietet die MCrypt-Erweiterung eine einfache Möglichkeit, Daten zu verschlüsseln und zu entschlüsseln. Dieses Tutorial zeigt Ihnen, wie Sie mit der PHP-Erweiterung MCrypt ver- und entschlüsseln.
Schritt 1: MCrypt-Erweiterung installieren
MCrypt-Erweiterung ist eine PHP-Erweiterung zum Ver- und Entschlüsseln von Daten. Um die MCrypt-Erweiterung verwenden zu können, müssen Sie sie zunächst auf Ihrem Server installieren. Sie können die MCrypt-Erweiterung installieren, indem Sie die folgenden Schritte ausführen:
Überprüfen Sie, ob Ihre PHP-Installation die MCrypt-Erweiterung bereits unterstützt. Sie können zur Überprüfung den folgenden Befehl im Terminal oder in der Befehlszeile verwenden:
php -m |. Wenn das Wort „mcrypt“ angezeigt wird, bedeutet dies, dass die MCrypt-Erweiterung installiert wurde und Sie diesen Schritt überspringen können. Andernfalls muss die MCrypt-Erweiterung installiert werden.
Mit apt (für Debian oder Ubuntu):
sudo apt-get install php-mcrypt
Mit yum (für CentOS oder Fedora):
sudo yum install php-mcrypt
Mit brew (für macOS):
brew install mcrypt
Sobald die Installation abgeschlossen ist, starten Sie Ihren Webserver neu.
function encryptData($data, $key, $iv) { $cipher = MCRYPT_RIJNDAEL_128; $mode = MCRYPT_MODE_CBC; $padding = 16 - (strlen($data) % 16); $data = $data . str_repeat(chr($padding), $padding); $encryptedData = mcrypt_encrypt($cipher, $key, $data, $mode, $iv); return base64_encode($encryptedData); }
In der Verschlüsselungsfunktion haben wir den Rijndael 128-Bit-Verschlüsselungsalgorithmus (auch bekannt als AES) und den CBC-Modus (Key Block Chaining) in MCrypt verwendet. Wir verwenden eine Datenblockgröße von 16 Byte (128 Bit) und füllen die Daten am Ende auf, um sicherzustellen, dass die Länge der verschlüsselten Daten ein Vielfaches von 16 ist.
Verwenden Sie die Funktion mcrypt_encrypt, um die Daten zu verschlüsseln, und verwenden Sie base64_encode, um die verschlüsselten Daten zu verschlüsseln. Gibt die codierten Daten zurück.
Schritt drei: Daten entschlüsseln
Sobald die Daten verschlüsselt sind, müssen sie entschlüsselt werden, um die Originaldaten wiederherzustellen. Das Folgende ist ein Beispiel für eine grundlegende Entschlüsselungsfunktion:function decryptData($data, $key, $iv) { $cipher = MCRYPT_RIJNDAEL_128; $mode = MCRYPT_MODE_CBC; $decryptedData = mcrypt_decrypt($cipher, $key, base64_decode($data), $mode, $iv); $padding = ord($decryptedData[strlen($decryptedData) - 1]); return substr($decryptedData, 0, -$padding); }
Verwenden Sie die Funktion mcrypt_decrypt, um die Daten zu entschlüsseln, und verwenden Sie base64_decode, um die eingehenden Daten zu dekodieren.
Wir müssen außerdem die Anzahl der Füllbytes der entschlüsselten Daten ermitteln und die Funktion substr verwenden, um den Füllteil zu kürzen.
Fazit
Herzlichen Glückwunsch! Sie haben das Tutorial zum Ver- und Entschlüsseln mit der MCrypt-Erweiterung abgeschlossen. Verschlüsselung ist eine wichtige Sicherheitsmaßnahme, wenn es um den Schutz sensibler Daten geht. Mit der entsprechenden Verwendung von MCrypt-Erweiterungen können Sie Ihren PHP-Anwendungen ganz einfach Verschlüsselungs- und Entschlüsselungsfunktionen hinzufügen. Denken Sie daran, Ihren Schlüssel und IV-Wert zu speichern, um sicherzustellen, dass Sie beim Entschlüsseln der Daten die Originaldaten korrekt wiederherstellen können.Das obige ist der detaillierte Inhalt vonVollständiges Tutorial: So verschlüsseln und entschlüsseln Sie mit der PHP-Erweiterung MCrypt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!