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

decrypt

Функция decrypt применяется для расшифровки строк или данных, зашифрованных с использованием шифрования AES-256-CBC через функцию encrypt. Первым и единственным параметром передаётся зашифрованная строка, которую необходимо расшифровать. Функция возвращает исходное значение, которое может быть строкой, массивом или объектом. Если данные были повреждены или ключ шифрования не совпадает, будет выброшено исключение Illuminate\Contracts\Encryption\DecryptException.

Синтаксис

<?php decrypt($encryptedValue); ?>

Пример

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

<?php $encrypted = encrypt('secret string'); $decrypted = decrypt($encrypted); echo $decrypted; ?>

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

"secret string"

Пример

Функция может расшифровывать не только строки, но и массивы:

<?php $encrypted = encrypt(['key' => 'value', 'user' => 'category']); $decrypted = decrypt($encrypted); echo $decrypted['user']; ?>

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

"category"

Пример

При попытке расшифровать данные с неправильным ключом или повреждённые данные, функция выбрасывает исключение. Обработаем эту ситуацию:

<?php use Illuminate\Contracts\Encryption\DecryptException; try { $encrypted = 'invalid_encrypted_string'; $decrypted = decrypt($encrypted); echo $decrypted; } catch (DecryptException $e) { echo 'Decryption failed: ' . $e->getMessage(); } ?>

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

"Decryption failed: The payload is invalid."

Пример

В контроллере можно использовать функцию для расшифровки данных, переданных через зашифрованные параметры:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class UserController extends Controller { public function show($encryptedToken) { $decryptedToken = decrypt($encryptedToken); // Use decrypted token to find user $user = User::where('token', $decryptedToken)->first(); return view('user.profile', ['user' => $user]); } } ?>

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

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