Установка ключа шифрования в результатах Laravel для выхода из системы
Мне нужен ключ, который будет использоваться для последующих Crypt::encrypt()
и Crypt::decrypt()
вызовов , но только в текущем запросе.
Crypt::setKey('1');
$pin_code = Crypt::encrypt($pin_codes[$key]);
// он делает шифрование, а затем автоматически выходит из системы
В чем может быть проблема?
1 ответ:
Я понял это
Есть только три места, где Ларавель использует пакет Crypt.
- тайники. В частности, если вы используете драйвер кэша базы данных, то значения, помещенные в кэш, шифруются до сохранения и расшифровываются при загрузке.
- печенье. Значения файлов Cookie всегда отправляются пользователю в зашифрованном виде. При загрузке запроса все значения файлов cookie расшифровываются.
- очереди. В частности, если вы используете драйвер очереди 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