我正在使用elocryptfive加密数据库中的某些字段 - 简而言之,这是一个 PHP 特征,它在将标记为可加密的属性写入数据库之前对其进行加密,并在向用户显示它们时解密它们(使用getAttribute
和其他此类方法)。
可以在这个 laracasts 讨论中找到它的更简单版本。
使用低于 5.5 的 Laravel 版本没有任何问题。将站点升级到 laravel 5.5 后,我注意到应该加密的值改为以明文形式显示。
我已经在包 github 帐户中提出问题,寻求帮助。与此同时,我尝试了几件事:
- 在新安装的 laravel 5.2 和 5.4 中添加了 elocryptfive 包 - 加密工作正常
- 在股票 laravel 5.5 中做了同样的事情 - 值仅在第一次保存后加密,并在每次后续更新后解密存储
- 我还没有在论坛/laracasts 中找到任何相关内容
似乎它可能与 5.4 和 5.5 之间的一些变化有关,我已经尝试比较Eloquent
命名空间中的几个类但放弃了。