Heim > Artikel > Backend-Entwicklung > So ersetzen Sie mcrypt in PHP
So ersetzen Sie mcrypt durch PHP: 1. Öffnen Sie die entsprechende PHP-Datei. 2. Suchen Sie den ursprünglichen Verschlüsselungs- und Entschlüsselungscode. 3. Verwenden Sie die Methoden „openssl_encrypt“ und „openssl_decrypt“.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, Dell G3-Computer.
php Wie ersetzt man mcrypt?
Mcrypt-Verschlüsselungs- und Entschlüsselungsalternative in PHP7.4
Problembeschreibung
Die Funktionen mcrypt_encrypt und mcrypt_decrypt wurden seit PHP 7.1.0 aufgegeben. Die im ursprünglichen Projekt (php5.6) verwendeten Funktionen mcrypt_encrypt und mcrypt_decrypt sind in PHP7 enthalten. 1 Bei Verwendung in nachfolgenden Umgebungen wird die Meldung angezeigt, dass die Funktion nicht gefunden werden kann und Sie stattdessen openssl_encrypt und openssl_decrypt verwenden müssen.
Lösung
****************************Verschlüsselung******************** ********
<?php /** * 原加密方法方法 * @param $str * @param string $key * @return string */ function des_encrypt($str, $key='uK9pFn56') { $block = mcrypt_get_block_size('des', 'ecb'); $pad = $block - (strlen($str) % $block); $str .= str_repeat(chr($pad), $pad); return base64_encode(mcrypt_encrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB)); } $str = "123123"; var_dump(des_encrypt($str)); //加密结果:BKG4i231OB0=rrree
****************************Entschlüsselung****************** **********
<?php /** * openssl_encrypt加密替代方法 * @param $str * @param string $key * @return string */ function des_encrypt($str, $key = 'uK9pFn56') { return base64_encode(openssl_encrypt($str, "DES-ECB", $key, OPENSSL_RAW_DATA, "")); } $str = "123123"; var_dump(des_encrypt($str)); //加密结果:BKG4i231OB0=rrree
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonSo ersetzen Sie mcrypt in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!