【发布时间】:2015-01-30 23:53:31
【问题描述】:
mcrypt_decrypt():此算法不支持大小为 15 的密钥。仅支持大小为 16、24 或 32 的键
我该如何解决这个问题?我的密钥已设置 - 无法更改。 它必须是本地更改,我认为我本地的 PHP 版本对于我加载的项目来说太高级了。 我该如何解决这个问题?
【问题讨论】:
-
您没有给我们足够的信息。您是否使用正确的密码来解密字符串(加密时使用的密码)?不同的密码支持不同的密钥大小。 php.net/manual/en/function.mcrypt-decrypt.php
-
项目文件可以在其他机器上运行,所以密码很好——更进一步——在重新安装我的 xampp 之前一切正常
-
请注意:如果您通过
$key = 0x12345679ABCDEF创建足够的 int,则传入的值是作为字符数组-1234567的 12-19 位(十进制)字符串,而不是32 位二进制值。 (它通过标准方法将 int 转换为字符串)。密钥必须通过“\xab\xcd\xef\x01\x02”定义为字符串(又名:数组/缓冲区)。但是在更新到 5.6 版之前,您不会意识到这已被破坏。您实际上一直在传递一个短数字字符串,该字符串填充为空
标签: php encryption mcrypt