РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1170 of 1392 menu

Метод decrypt

Метод decrypt класса Crypt применяется для расшифровки строк или значений, зашифрованных с использованием механизма шифрования Laravel. В качестве единственного параметра метод принимает зашифрованную строку, а возвращает расшифрованное значение в исходном типе (строка, массив, объект). Для работы метода необходимо корректно настроить ключ шифрования в файле .env.

Синтаксис

<?php Crypt::decrypt($encryptedValue); ?>

Пример

Давайте расшифруем строку, которая была зашифрована ранее:

<?php use Illuminate\Support\Facades\Crypt; $encrypted = "eyJpdiI6Ik5qVTJNREF5TkRVMk9UWT0iLCJ2YWx1ZSI6IjE5N1wv..."; $decrypted = Crypt::decrypt($encrypted); echo $decrypted; ?>

Результат выполнения кода:

"Hello, Laravel!"

Пример

Метод decrypt также корректно обрабатывает массивы и объекты. Расшифруем данные пользователя:

<?php namespace AppHttpControllers; use Illuminate\Support\Facades\Crypt; class UserController extends Controller { public function show() { $encryptedData = "eyJpdiI6IjNwaU1GOVwvdEExVU5..."; $userData = Crypt::decrypt($encryptedData); echo $userData['name'] . ' - ' . $userData['email']; } } ?>

Результат выполнения кода:

"John Doe - john@example.com"

Пример

Если при расшифровке возникает ошибка (например, неверный ключ или повреждённые данные), метод выбрасывает исключение Illuminate\Contracts\Encryption\DecryptException. Обработаем такую ситуацию:

<?php namespace AppConsoleCommands; use IlluminateConsoleCommand; use IlluminateSupportFacadesCrypt; use IlluminateContractsEncryptionDecryptException; class DecryptCommand extends Command { protected $signature = 'decrypt:data {value}'; public function handle() { try { $value = Crypt::decrypt($this->argument('value')); echo $value; } catch (DecryptException $e) { echo "Decryption failed: " . $e->getMessage(); } } } ?>

Результат выполнения команды при ошибке:

"Decryption failed: The payload is invalid."

Смотрите также

  • метод encrypt,
    который выполняет шифрование данных
  • метод encryptString,
    который шифрует строки без сериализации
  • метод decryptString,
    который расшифровывает строки без десериализации
  • функция decrypt,
    которая является вспомогательной обёрткой для метода класса Crypt
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить