【问题标题】:mcrypt_encrypt(): Key of size 26 not supported by this algorithm. Only keys of sizes 16, 24 or 32 supported inmcrypt_encrypt():此算法不支持大小为 26 的密钥。仅支持大小为 16、24 或 32 的键
【发布时间】:2016-11-25 00:57:56
【问题描述】:

我在 PHP 版本 5.6.15 中收到警告。 此算法不支持大小为 26 的密钥是什么意思。

【问题讨论】:

  • 如果这是升级 MySQL 版本的问题,changelog 会显示以下内容:不再接受无效的密钥和 iv 大小。如果输入无效,mcrypt_encrypt() 现在将发出警告并返回 FALSE。以前键和 IV 用 '\0' 字节填充到下一个有效大小。

标签: php security mcrypt


【解决方案1】:

26 从来都不是一个有效的密钥大小,但是 PHP 版本 the documentation

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

因此,您可以使用 strpad 用空字节填充密钥来复制旧行为。

【讨论】:

    猜你喜欢
    • 2016-07-22
    • 2018-07-11
    • 2016-11-03
    • 1970-01-01
    • 2015-03-13
    • 2017-08-28
    • 2021-12-05
    • 2015-09-16
    • 2014-12-02
    相关资源
    最近更新 更多