Метод encrypt
Метод encrypt класса Crypt применяется для шифрования строк, массивов и объектов в Laravel. Шифрование происходит с использованием алгоритма AES-256-CBC. В первом параметре передаётся значение для шифрования, вторым параметром можно указать сериализацию (по умолчанию используется JSON). Метод возвращает зашифрованную строку в формате base64.
Синтаксис
<?php
Crypt::encrypt($value, $serialize = true);
?>
Пример
Давайте зашифруем простую строку:
<?php
use IlluminateSupportFacadesCrypt;
$encrypted = Crypt::encrypt('secret data');
echo $encrypted;
?>
Результат выполнения кода:
"eyJpdiI6IjVzN2F4Y2J2dTNpM2ZkZmciLCJ2YWx1ZSI6Imt3T05IekFBd1NXcSIsIm1hYyI6IjEyMzQ1Njc4OTBhYmNkZWYifQ=="
Пример
Давайте зашифруем массив данных:
<?php
use IlluminateSupportFacadesCrypt;
$data = ['user' => 'john', 'role' => 'admin'];
$encrypted = Crypt::encrypt($data);
echo $encrypted;
?>
Результат выполнения кода:
"eyJpdiI6IjVzN2F4Y2J2dTNpM2ZkZmciLCJ2YWx1ZSI6IntcInVzZXJcIjpcImpvaG5cIixcInJvbGVcIjpcImFkbWluXCJ9IiwibWFjIjoiMTIzNDU2Nzg5MGFiY2RlZiJ9"
Пример
Давайте зашифруем объект модели:
<?php
use IlluminateSupportFacadesCrypt;
use AppModelsUser;
$user = User::find(1);
$encrypted = Crypt::encrypt($user);
echo $encrypted;
?>
Результат выполнения кода:
"eyJpdiI6IjVzN2F4Y2J2dTNpM2ZkZmciLCJ2YWx1ZSI6IntcImlkXCI6MSxcIm5hbWVcIjpcIkpvaG5cIixcImVtYWlsXCI6ImpvaG5AZXhhbXBsZS5jb21cIn0iLCJtYWMiOiIxMjM0NTY3ODkwYWJjZGVmIn0="
Пример
Давайте отключим сериализацию для шифрования данных:
<?php
use IlluminateSupportFacadesCrypt;
$encrypted = Crypt::encrypt('simple text', false);
echo $encrypted;
?>
Результат выполнения кода:
"eyJpdiI6IjVzN2F4Y2J2dTNpM2ZkZmciLCJ2YWx1ZSI6InNpbXBsZSB0ZXh0IiwibWFjIjoiMTIzNDU2Nzg5MGFiY2RlZiJ9"
Смотрите также
-
метод
decrypt,
который расшифровывает данные -
метод
encryptString,
который шифрует строку без сериализации -
метод
decrypt,
который расшифровывает данные через глобальную функцию -
метод
encrypt,
который шифрует данные через глобальную функцию