mcrypt_decrypt() 错误更改密钥大小

2021-12-20 00:00:00 encryption php mcrypt

mcrypt_decrypt():此算法不支持大小为 15 的密钥.仅支持大小为 16、24 或 32 的键

mcrypt_decrypt(): Key of size 15 not supported by this algorithm. Only keys of sizes 16, 24 or 32 supported

我该如何解决这个问题?我的密钥已设置 - 无法更改.它必须是本地更改,我认为我本地的 PHP 版本对于我加载的项目来说太高级了.我该如何解决这个问题?

How Can I fix this issue? my key is set - can not change it. It has to be a local change, I think my local PHP version is too advanced for the project I loaded. How can I fix this?

推荐答案

你更新到 5.6 了吗?它说

Did you update to 5.6? It says

不再接受无效的密钥和 iv 大小.如果输入无效,mcrypt_decrypt() 现在将抛出警告并返回 FALSE.以前的键和 IV 用 '' 字节填充到下一个有效大小.

Invalid key and iv sizes are no longer accepted. mcrypt_decrypt() will now throw a warning and return FALSE if the inputs are invalid. Previously keys and IVs were padded with '' bytes to the next valid size.

参考

阅读该引用的最后一行,您将在那里找到您的解决方案:)

Read the last line of that quote, and there you will find your solution :)

mcrypt_decrypt():此算法不支持大小为 15 的密钥.仅支持大小为 16、24 或 32 的键

mcrypt_decrypt(): Key of size 15 not supported by this algorithm. Only keys of sizes 16, 24 or 32 supported

这意味着您需要用 填充您的密钥(这是以前版本为您所做的)

That means you need to pad your key with (that's what previous versions were doing for you)

$key=$key."";

相关文章