Heim > Artikel > Backend-Entwicklung > Wie migriere ich von Mcrypt zu OpenSSL ohne wesentliche Codeänderungen?
Hintergrund:
Ihre PHP-Anwendung verwendet derzeit Mcrypt zur Datenverschlüsselung mit eine Blowfish-Verschlüsselung und ein ECB-Modus. Sie stehen jedoch vor der Herausforderung, zur Verschlüsselung auf OpenSSL zu migrieren.
Hauptunterschiede:
Lösung:
Um eine nahtlose Migration ohne nennenswerte Neucodierung durchzuführen, befolgen Sie diese Schritte:
Verschlüsselte Daten neu erstellen: Füllen Sie die Daten manuell mit PKCS#7 auf, bevor Sie sie verschlüsseln Mcrypt. Beispielcode finden Sie unten:
$key = "anotherpassword1"; $str = "does it work 12"; $enc = mcrypt_encrypt(MCRYPT_BLOWFISH, $key, $str."", MCRYPT_MODE_ECB);
Verwenden Sie OpenSSL zur Entschlüsselung: Nachdem Sie die verschlüsselten Daten neu erstellt haben, verwenden Sie OpenSSL, um sie mit der richtigen Verschlüsselung und dem richtigen Modus zu entschlüsseln:
$key = "anotherpassword1"; $enc = "0e93dce9a6a88e343fe5f90d1307684c"; $dec = openssl_decrypt($enc, 'bf-ecb', $key, true); echo $dec;
Hinweis: Sie haben erwähnt, dass für Mcrypt (56) und OpenSSL (0) unterschiedliche IV-Längen erforderlich sind. Im ECB-Modus werden jedoch keine IVs verwendet.
Wenn Sie diese Schritte befolgen, können Sie ohne umfangreiche Codeänderungen von Mcrypt auf OpenSSL migrieren und so die Kompatibilität mit Ihren vorhandenen verschlüsselten Daten sicherstellen.
Das obige ist der detaillierte Inhalt vonWie migriere ich von Mcrypt zu OpenSSL ohne wesentliche Codeänderungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!