Aktueller Standort: Startseite> Neueste Artikel> Ersetzen Sie McRypt in PHP 7.1 durch OpenSSL: detailliertes Tutorial und Beispielcode

Ersetzen Sie McRypt in PHP 7.1 durch OpenSSL: detailliertes Tutorial und Beispielcode

gitbox 2025-06-18

1. Einführung

In PHP 7.1 wurde die McRypt -Funktionsbibliothek veraltet erklärt, sodass die Entwickler OpenSL -Erweiterungen anstelle von McRypt für Verschlüsselungs- und Entschlüsselungsvorgänge verwenden. Dieser Artikel enthält detaillierte Schritte, um den Übergang zu OpenSSL reibungslos zu unterstützen und zu demonstrieren, wie Verschlüsselung und Entschlüsselung durch Beispielcode implementiert werden können.

2. Warum McRypt ersetzen?

Obwohl McRypt einst ein weit verbreitetes Verschlüsselungsinstrument war, hat es einige offensichtliche Nachteile. Erstens wurde McRypt schon lange nicht aktualisiert und es fehlt keine Unterstützung für neue Algorithmen und Protokolle. Zweitens ist die Leistung von McRypts für eine groß angelegte Datenverschlüsselung schlecht, was leicht dazu führen kann, dass die PHP-Ausführungszeit zu lang ist. Noch wichtiger ist, dass McRypt in PHP 7.1 als veraltet markiert ist und in Zukunft entfernt werden kann. Daher ist die Migration zu OpenSSL eine sicherere und effizientere Option.

3. Ersetzen Sie McRypt durch OpenSSL -Erweiterung

3.1. Installieren Sie die OpenSSL -Erweiterung

Bevor Sie OpenSSL -Erweiterung verwenden, müssen Sie zunächst sicherstellen, dass sie korrekt installiert und aktiviert ist. Hier sind die Installationsschritte:

 
sudo apt-get install openssl
sudo apt-get install libssl-dev
sudo pecl install openssl

Sobald die Installation abgeschlossen ist, bearbeiten Sie die Php.ini -Datei und fügen Sie die folgende Zeile hinzu, um die OpenSSL -Erweiterung zu aktivieren:

 
extension=openssl.so

3.2. Verschlüsselung und Entschlüsselung mit OpenSSL

Nach der Installation und Aktivierung der OpenSSL -Erweiterung können Sie die Funktionen für Verschlüsselungs- und Entschlüsselungsvorgänge verwenden. Hier ist ein einfaches Beispiel, das zeigt, wie man Strings mit OpenSSL verschlüsselt und entschlüsselt:

 
<?php
function encrypt($data, $key) {
    // erzeugen128Bit zufälliger Vektor
    $iv = openssl_random_pseudo_bytes(16);
    // verwendenAES-256-CBCAlgorithmus verschlüsselte Daten
    $encrypted = openssl_encrypt($data, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv);
    // Gibt verschlüsselte Daten und Vektoren zurück
    return base64_encode($encrypted) . ':' . base64_encode($iv);
}
<p>function decrypt($data, $key) {<br>
// Analyse verschlüsselter Daten und Vektoren<br>
list($encrypted, $iv) = explode(':', $data);<br>
// Entschlüsseln Sie die Daten<br>
return openssl_decrypt(base64_decode($encrypted), 'AES-256-CBC', $key, OPENSSL_RAW_DATA, base64_decode($iv));<br>
}</p>
<p>// verwenden示例<br>
$data = "Hello, World!";<br>
$key = "SecretKey123";<br>
$encryptedData = encrypt($data, $key);<br>
echo "Verschlüsselte Daten:" . $encryptedData . "\n";<br>
$decryptedData = decrypt($encryptedData, $key);<br>
echo "Entschlüsselte Daten:" . $decryptedData . "\n";<br>
?><br>

In diesem Beispiel haben wir den AES-256-CBC-Algorithmus zur Verschlüsselung verwendet. Die Sicherheit der Daten wird durch Generieren eines 128-Bit-Zufallsvektors und der Verwendung dieser Verschlüsselung und Entschlüsselung gewährleistet.

3.3. Notizen

Achten Sie bei der Verwendung von OpenSSL -Erweiterungen unbedingt auf die folgenden Punkte:

  • Um die Verwendung eines sicheren Verschlüsselungsalgorithmus zu gewährleisten, wird empfohlen, AES-256-CBC zu verwenden.
  • Während der Verschlüsselung und Entschlüsselung generieren und verwenden Sie zufällige Vektoren.
  • Beim Verschlüsseln von Daten sollten die Daten in einer geeigneten Codierungsmethode gespeichert werden.
  • Stellen Sie sicher, dass Sie verschlüsselte Daten und Vektoren korrekt analysieren, bevor Sie die Daten entschlüsseln.

4. Schlussfolgerung

Das Ersetzen von McRypt durch OpenSSL -Erweiterung ist ein effektiver Weg, um die Sicherheit und Leistung von Verschlüsselungsvorgängen zu verbessern. OpenSSL -Erweiterung unterstützt nicht nur mehr Verschlüsselungsalgorithmen, sondern bietet auch effizientere Verarbeitungsfunktionen. Mit dem in diesem Artikel bereitgestellten Beispielcode können Sie die Verschlüsselungs- und Entschlüsselungsvorgänge in PHP problemlos implementieren, um sicherzustellen, dass Ihre Datenübertragung und -speicher sicherer sind.

Bitte passen Sie den Code entsprechend der tatsächlichen Bedürfnisse an und optimieren Sie sie angemessen, um sicherzustellen, dass er Ihren Projektanforderungen entspricht.