Ich habe ein Problem mit der openssl_decrypt
Funktion.mcrypt_decrypt, openssl_decrypt und 0x06065064 EVP_DecryptFinal Fehler
Beispielcode:
// mcrypt
$decrypted = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $data, MCRYPT_MODE_CBC, $iv);
// OpenSSL
$decrypted = openssl_decrypt($data, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv);
Die mcrypt_decrypt
Funktion funktioniert gut. Aber openssl_decrypt
kehrt FALSE
und der folgende Fehler:
error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt
Der Schlüssel ist 32 Bytes lang, und die iv 16 Byte.
Weiß jemand, was los ist?
Am besten ist es nicht mcrypt zu verwenden, ist es abandonware, wurde seit Jahren nicht mehr aktualisiert und nicht Standard PKCS # 7 (née PKCS # unterstützt 5) Padding, nur Nicht-Standard-Null-Padding, das nicht einmal mit Binärdaten verwendet werden kann. mcrypt hatte viele ausstehende [Bugs] (https://sourceforge.net/p/mcrypt/bugs/) aus dem Jahr 2003. Stattdessen sollten Sie [defuse] verwenden (https://github.com/defuse/php-encryption). Es wird beibehalten und ist korrekt. – zaph