Heim > Backend-Entwicklung > PHP-Tutorial > Wie migriere ich meinen PHP-Mcrypt-Verschlüsselungscode zu OpenSSL in PHP 7.2?

Wie migriere ich meinen PHP-Mcrypt-Verschlüsselungscode zu OpenSSL in PHP 7.2?

Barbara Streisand
Freigeben: 2024-12-06 20:01:12
Original
805 Leute haben es durchsucht

How to Migrate My PHP Mcrypt Encryption Code to OpenSSL in PHP 7.2?

Vorbereitung für die Entfernung von Mcrypt in PHP 7.2: Codekonvertierung von Mcrypt nach Openssl

Mit der Einführung von PHP 7.2 wird die beliebte Mcrypt-Erweiterung auslaufen. Als Entwickler ist es wichtig, sich auf diese Änderung vorzubereiten und die Einführung der sichereren Openssl-Alternative in Betracht zu ziehen.

Dieser Artikel konzentriert sich auf eine häufige Herausforderung, mit der Entwickler während des Übergangs konfrontiert sind: die Konvertierung von Code von Mcrypt nach Openssl unter Beibehaltung von AES 256 CBC und IVs.

Berücksichtigen Sie den folgenden Mcrypt-Code:

function encrypt($masterPassword, $data) {
    // Mcrypt AES 256 CBC operations
    $key = mb_substr(hash('SHA256', $masterPassword), 0, $keySize);
    $encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $data, MCRYPT_MODE_CBC, $iv);
    return base64_encode($iv . $encrypted);
}

function decrypt($masterPassword, $base64) {
    // Mcrypt AES 256 CBC operations
    $key = mb_substr(hash('SHA256', $masterPassword), 0, $keySize);
    $data = base64_decode($base64);
    $iv = substr($data, 0, $ivSize);
    $encrypted = substr($data, $ivSize, strlen($data));
    $decrypted = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $encrypted, MCRYPT_MODE_CBC, $iv);
    return trim($decrypted);
}
Nach dem Login kopieren

Um dies zu konvertieren Code in Openssl umwandeln, sollten Sie sich eines entscheidenden Unterschieds bewusst sein: Mcrypts Rijndael-256 ist nicht dasselbe wie AES-256. OpenSSL unterstützt AES-256, also Rijndael-128 mit einem 256-Bit-Schlüssel.

Daher ist eine direkte Codekonvertierung leider nicht möglich. Sie müssen alle Ihre Daten mit geeigneten AES-256-Vorgängen neu verschlüsseln.

Darüber hinaus mangelt es dem aktuellen Mcrypt-Verschlüsselungsschema an Authentifizierung, ordnungsgemäßer Auffüllung und Byte-Sicherheit. Es wird dringend empfohlen, eine robustere Verschlüsselungsbibliothek wie defuse/php-encryption zu verwenden, um die Sicherheit zu verbessern.

Wenn Sie die Unterschiede zwischen Mcrypt und Openssl verstehen und die Mängel des bestehenden Verschlüsselungsschemas beheben, können Sie sich effektiv darauf vorbereiten Entfernen Sie Mcrypt in PHP 7.2 und bewahren Sie die Integrität und Sicherheit Ihrer verschlüsselten Daten.

Das obige ist der detaillierte Inhalt vonWie migriere ich meinen PHP-Mcrypt-Verschlüsselungscode zu OpenSSL in PHP 7.2?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage