PHP 7.2 – Mcrypt durch OpenSSL ersetzen
Thema: Replace mcrypt_encrypt mit openssl_encrypt in PHP
Mcrypt Beispiel ersetzen mit OpenSSL
Vor uns liegt nun ein typisches MCrypt Beispiel Konstrukt welches wir zu OpenSSL Abwärtskompatibel portieren möchten.
Mcrypt Code:
Der equivalente OpenSSL PHP Code dazu würde wie folgt aussehen:
OpenSSL Code:
Wie Ihr sehen könnt, hat sich bei OpenSSL die Methode geändert, in diesem Fall entspricht ‚aes-128-cbc‘ der Mcrypt Methode ‚cbc‘. Wenn diese Option ‚OPENSSL_RAW_DATA‘ gesetzt ist gibt openssl_encrypt lediglich die Rohdaten zurück. Denn standardmäßig macht openssl_encrypt schon ein base64_encode auf das Ergebnis, wird die Option gesetzt geschieht dies nicht automatisch.
Das Beispiel ist relativ einfach gehalten um die grundlegende Mechanik und den Unterschied deutlich sichtbar zu machen. Außerdem wird empfohlen einen zufälligen IV zu generieren und einen Schlüssel mit entsprechender länge.
Für tiefgründigeres Wissen über OpenSSL in PHP empfehle ich die Dokumentation auf PHP.net, dort erfahrt Ihr ausführlich erklärt alle Einzelheiten über die verfügbaren OpenSSL Funktionen in PHP.
Falls Ihr gute oder schlechte Erfahrungen mit OpenSSL oder Mcrypt in PHP gemacht habt dann hinterlasst doch ein Kommentar. Ansonsten hoffe ich das euch dieser Artikel ein Schritt in die richtige Richtung weisen konnte.