Laravel:“mcrypt_decrypt():IV 参数必须与块大小一样长”
Posted
技术标签:
【中文标题】Laravel:“mcrypt_decrypt():IV 参数必须与块大小一样长”【英文标题】:Laravel : "mcrypt_decrypt(): The IV parameter must be as long as the blocksize" 【发布时间】:2014-07-18 07:41:15 【问题描述】:我在 Laravel 应用程序上运行了 composer update
,现在我收到了这个错误:
mcrypt_decrypt():IV参数必须和blocksize一样长
发生了什么?!
【问题讨论】:
酷 [Ed Rands 的评论][1] 为我工作只是为了清理 cookie [1]:***.com/a/23922994/1539590 【参考方案1】:刚刚详细说明了 Ifan Iqbal 的答案。正如他所说,当使用相同的加密密钥运行多个 Laravel 安装时会发生这种情况。无需清除 cookie,只需为您运行的每个 Laravel 安装创建一个唯一的密钥(顺便说一下,这是一种很好的做法)。
转到您的终端并输入:
php artisan key:generate
这将自动在 app/config/app.php 中设置加密密钥,您的错误将消失。
【讨论】:
【参考方案2】:当您使用相同的加密密钥运行多个 Laravel 项目/应用程序时,也会发生此问题。只需将app/config/app.php
中的key
值更改为不同的值,即可开始使用。
【讨论】:
这应该是 imo 公认的答案,因为它从正确的角度解决了问题 - 消除了双 Laravel 键 - 而不是绕过它。【参考方案3】:您需要在 app\config\app.php 更改密码。具有相同的密码名称对我造成了这个问题。我唯一地更改了密码名称,然后它工作正常。
【讨论】:
【参考方案4】:我想通了。您所要做的就是清除您的 cookie,一切都会好起来的!
【讨论】:
你只需要清除cookies,不需要清除历史记录。 我遇到了同样的问题...当在同一个浏览器中打开多个 laravel 会话时会发生这种情况(它发生在 firefox 上)。我删除了pma_*
和 laravel_session
cookie,一切恢复正常以上是关于Laravel:“mcrypt_decrypt():IV 参数必须与块大小一样长”的主要内容,如果未能解决你的问题,请参考以下文章
带有三重和 cbc 的 mcrypt_decrypt 无法正常工作
调用未定义的函数 mcrypt_decrypt() - 即使安装了 php5-mcrypt