MCRYPT_RIJNDAEL_256 PHP内存大小错误

时间:2014-02-28 17:12:01

标签: php

在我继承的代码库中,有一行在显示错误页面之前编码错误消息。

        $sErrorMessageCrypted = wordwrap(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($sKey), $sMessage, MCRYPT_MODE_CBC, md5(md5($sKey)))), 60, PHP_EOL, true);

错误是PHP致命错误:允许的内存大小为134217728字节耗尽(尝试分配81个字节)。

它作为输入接收的错误消息是1674个字符长,带有23个字符的盐。

所以,我想知道这里的过程以及为什么这会占用如此多的内存。我认为这样就可以显示错误而没有任何人能够阅读它。 (虽然我看到以前的开发人员无法使用解密功能。​​)

有关更改此内容的任何建议吗?

由于

1 个答案:

答案 0 :(得分:0)

我的猜测是,拉入OpenSSL加密库可以推动你超过128MB的限制。增加内存限制是最简单的修复。如果你不能这样做,你可以重建库并消除不需要的密码以减小大小。