Heim  >  Artikel  >  Backend-Entwicklung  >  Vollständiges Tutorial: So verschlüsseln und entschlüsseln Sie mit der PHP-Erweiterung MCrypt

Vollständiges Tutorial: So verschlüsseln und entschlüsseln Sie mit der PHP-Erweiterung MCrypt

WBOY
WBOYOriginal
2023-07-28 12:25:112037Durchsuche

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:

  1. Ü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.

  2. Installieren Sie die MCrypt-Erweiterung mit einem Paketverwaltungstool wie apt, yum oder brew. Hier sind die Befehle zum Installieren von MCrypt-Erweiterungen mit mehreren gängigen Paketverwaltungstools:
  3. 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.

  4. Schritt zwei: Daten verschlüsseln
Sobald die MCrypt-Erweiterung auf Ihrem Server installiert ist, können Sie damit beginnen, Ihre Daten zu verschlüsseln. Hier ist ein Beispiel einer grundlegenden Verschlüsselungsfunktion:

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);
}

Im obigen Beispiel haben wir eine Funktion namens „encryptData“ definiert, die drei Parameter akzeptiert: die zu verschlüsselnden Daten, den Schlüssel und den Initialisierungsvektor (IV).

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);
}

In diesem Beispiel für eine Entschlüsselungsfunktion verwenden wir auch den 128-Bit-Verschlüsselungsalgorithmus von Rijndael und den CBC-Modus.

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!

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