openssl_decrypt
機能に問題があります。mcrypt_decrypt、openssl_decryptおよび0x06065064 EVP_DecryptFinalエラー
例コード:
// 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);
mcrypt_decrypt
機能が正常に動作します。しかしopenssl_decrypt
戻りFALSE
と、次のエラー:キーが16バイト32バイト長およびiv
error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt
です。
何が間違っているのか分かりますか?
それはmcryptのを使用するのが最善ではありません、それはアバンダンあり、年間で更新されていないと、標準PKCS#7(旧姓のPKCSの#をサポートしていません。 5)パディング、バイナリデータでも使用できない非標準のヌルパディングのみ。 mcryptには、2003年にさかのぼる多くの傑出したバグ(https://sourceforge.net/p/mcrypt/bugs/)がありました。代わりに、[defuse](https://github.com/defuse/php-encryption)それは維持されており、正しいです。 – zaph