Heim >Backend-Entwicklung >PHP-Tutorial >Kann OpenSSL mit Mcrypt verschlüsselte Daten entschlüsseln?

Kann OpenSSL mit Mcrypt verschlüsselte Daten entschlüsseln?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-02 04:08:151005Durchsuche

Can OpenSSL Decrypt Data Encrypted with Mcrypt?

Upgrade meiner Verschlüsselungsbibliothek von Mcrypt auf OpenSSL

Kann das gemacht werden?

Die Kompatibilität von Mcrypt mit OpenSSL ist umstritten. Einige Quellen behaupten, dass OpenSSL mit Mcrypt verschlüsselte Daten nicht entschlüsseln kann, während andere vermuten, dass dies durch die Verwendung von Padding möglich sei.

[Beitrag 1](https://stackoverflow.com/a/19748494/ 5834657) besagt, dass eine Entschlüsselung unmöglich ist, während [Post 2](https://stackoverflow.com/a/31614770/5834657) legt nahe, dass dies mit der richtigen Polsterung erreichbar ist. Das im Beitrag bereitgestellte Beispiel-Padding ist jedoch speziell für Mcrypt gedacht und ist möglicherweise nicht auf OpenSSL anwendbar.

Versuch mit neuer Bibliothek

Um die Kompatibilität zu testen, haben wir den vorhandenen Mcrypt-Code geändert Verwenden Sie OpenSSL. Die modifizierte Entschlüsselungsfunktion lautet wie folgt:

Wir haben diesen modifizierten Code getestet, indem wir eine Zeichenfolge mit der Mcrypt-Bibliothek verschlüsselt und dann versucht haben, sie mit unserem OpenSSL-basierten Code zu entschlüsseln. Allerdings erhielten wir nur eine leere Antwort. Der Fehler schien aus der Zeile $data = $this->unpad($dec) zu stammen. Als wir diese Zeile auskommentierten, bekamen wir eine durcheinandergebrachte Zeichenfolge, die dem ursprünglichen verschlüsselten Format ähnelte.

Fazit

Leider war unser Versuch, mit Mcrypt verschlüsselte Daten mithilfe von OpenSSL zu entschlüsseln, erfolglos. Es ist möglich, dass die von Mcrypt verwendete spezifische Auffüllung nicht mit OpenSSL kompatibel ist oder es andere zugrunde liegende Inkompatibilitäten gibt, die eine erfolgreiche Entschlüsselung verhindern.

Weitere Untersuchungen sind erforderlich, um festzustellen, ob es wirklich unmöglich ist, Mcrypt-verschlüsselt zu entschlüsseln Daten mit OpenSSL, oder ob es eine Problemumgehung gibt, die noch entdeckt werden muss.

Das obige ist der detaillierte Inhalt vonKann OpenSSL mit Mcrypt verschlüsselte Daten entschlüsseln?. 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