Установка ключа шифрования в результатах Laravel для выхода из системы


Мне нужен ключ, который будет использоваться для последующих Crypt::encrypt() и Crypt::decrypt() вызовов , но только в текущем запросе.

    Crypt::setKey('1');
    $pin_code   = Crypt::encrypt($pin_codes[$key]);

// он делает шифрование, а затем автоматически выходит из системы

В чем может быть проблема?

1 3

1 ответ:

Я понял это

Есть только три места, где Ларавель использует пакет Crypt.
  1. тайники. В частности, если вы используете драйвер кэша базы данных, то значения, помещенные в кэш, шифруются до сохранения и расшифровываются при загрузке.
  2. печенье. Значения файлов Cookie всегда отправляются пользователю в зашифрованном виде. При загрузке запроса все значения файлов cookie расшифровываются.
  3. очереди. В частности, если вы используете драйвер очереди iron, то значения сохраняются в очереди зашифрованные и расшифрованные после извлечения.

Из-за пункта № 2 ... мы выйдем из системы

Так что лучше сбросить ключ на оригинал

Crypt::setKey('1'); 
$pin_code   = Crypt::encrypt($pin_codes[$key]);
Crypt::setKey(Config::get('app.key'));//reset to original after job is done