mcrypt_decrypt仅在Laravel种子中使用时才返回正确的数据

时间:2016-11-29 22:55:38

标签: php laravel encryption mcrypt laravel-seeding

我们在Windows上的PHP 7.0下使用Laravel 5.3中的内置数据库种子。问题是,每当我们使用mcrypt_encrypt加密某些数据时,我们从mcrypt_decrypt返回的数据与我们传入的数据不同。

use warnings 'all';
use strict;

在这种情况下,$ data是一些二进制字符串而不是原始字符串。

  • 播种期间只发生 。 mcrypt_encrypt / mcrypt_decrypt将通过Web请求或修补程序进行处理。
  • 我们知道它已被弃用。我们必须使用mcrypt_encrypt而不是更新的加密(https://laravel.com/docs/5.3/encryption),因为我们已经使用mcrypt_encrypt加密了旧数据。
  • $ key是从加密密钥加载的静态变量
  • 这不是指示问题的错误或警告

任何人都知道这里会发生什么?

1 个答案:

答案 0 :(得分:0)

根据zaph的反馈和一些灵魂搜索,我们将迁移我们的加密数据并使用更现代的东西。我们一直在避免它,因为它在大多数情况下仍然有效。但我们只是推迟了不可避免的事情。感谢您的反馈。