这是我的代码:
function decrypt($code)
{
$key = '3552ef55ecdf04324..'; // 64 bytes length
$iv = 'd20818af907b59c3b15d258dd3969770'; // 32 bytes length
$key = hash("sha256", $key,true); // 32 bytes length
$iv = md5($iv,true); // 16 bytes length
echo strlen(base64_decode($code)); // 80 bytes
//return openssl_decrypt(base64_decode($code), 'aes-256-cbc', $key, 0 ,$iv); // return false
$output = openssl_decrypt(base64_decode($code), 'aes-256-cbc', $key, 0 ,$iv);
return openssl_error_string();
}
我使用 swift/android 加密并使用 php 解密。
openssl_error_string() 方法返回“错误:0606506D:数字信封例程:EVP_DecryptFinal_ex:错误的最终块长度”。
注意加密swift/android中的key和iv是一样的。我在这里找不到问题。任何人?谢谢。