Wie ihr wahrscheinlich wisst, wird die Erweiterung mcrypt auf php 7.1 veraltet sein.Ersetzen von mcrypt_encrypt durch openssl_encrypt
Ich benutze, um eine "Legacy" -Anwendung zu pflegen, die ich schließlich auf diese Version migrieren möchte, also habe ich die Tests durchgeführt und überprüft, dass ich nicht 100% der Abdeckung mehr erhalten kann, da es ein Stück Code, der die verwenden folgenden Code:
$key = 'sA*(DH';
// initialization vector
$iv = md5(md5($key));
$output = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $string, MCRYPT_MODE_CBC, $iv));
ich habe versucht, in den Hafen dieses Stück Code zu openssl_encrypt diesem Code
$key = md5('sA*(DH');
$iv = md5($key);
echo base64_encode(openssl_encrypt($data, "aes-256-cbc", $key, OPENSSL_RAW_DATA, $iv));
Aber ich habe 2 Probleme:
- sollte die IV Länge 16 Zeichen sein (und md5 gibt mir 32), so dass ich eine PHP-Warnung
- Der Ausgang ist es nicht das gleiche
Jeder hatte (auch wenn ich bis 16 Zeichen abgeschnitten) ähnliche Probleme (oder wissen, wie man es repariert?)
BTW: Ich benutze die Dev-Master-Version von PHP (soll 7.1.0 Alpha 3 sein).
Danke für die Antwort, aber der ursprüngliche Code ist nicht meins und ich benutze wirklich nicht md5 für nichts wirklich. Ich werde es versuchen, danke. –