«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Lithe Crypt: упрощение криптографии в PHP-приложениях

Lithe Crypt: упрощение криптографии в PHP-приложениях

Опубликовано 10 ноября 2024 г.
Просматривать:600

Lithe Crypt: Simplificando a Criptografia em Aplicações PHP

Lithe Crypt — это простая утилита шифрования и дешифрования на PHP, разработанная для работы с платформой Lithe. Он использует алгоритм AES-256-CBC для безопасной обработки данных.

Установка

Чтобы установить пакет Lithe Crypt, вы можете использовать Composer. Если он у вас еще не установлен, убедитесь, что Composer доступен в вашей системе. Затем выполните следующую команду в каталоге вашего проекта:

composer require lithemod/crypt

Требования

  • PHP 8 или выше
  • Расширение OpenSSL включено в вашей установке PHP

Использовать

Загрузка переменных среды

Перед использованием класса Crypt необходимо загрузить переменные среды. Используйте следующий код для загрузки файла .env:

use Lithe\Support\Env;

// Carregar variáveis de ambiente
Env::load(__DIR__); // Ajuste o caminho conforme necessário

Установка APP_KEY

Убедитесь, что переменная среды APP_KEY установлена. Этот ключ должен представлять собой 32-байтовую строку в кодировке Base64. Вы можете настроить его в своем файле .env или непосредственно в среде сервера.

Пример допустимого ключа base64:

YXNkZmFnc2Rhc2RmYWdlcyBhc2RmYWdlcyBhYXNkZmFnc2Q=

Шифрование данных

Чтобы зашифровать данные, используйте метод шифрования класса Crypt. Вы также можете указать, использовать ли фиксированный IV (вектор инициализации) для шифрования:

use Lithe\Support\Security\Crypt;

$data = "dados sensíveis";

// Criptografar sem IV fixo
$encrypted = Crypt::encrypt($data);
echo "Dados Criptografados: " . $encrypted;

// Criptografar com IV fixo (útil para valores únicos como e-mails)
$encryptedWithSameIV = Crypt::encrypt($data, true);
echo "Dados Criptografados com IV Fixo: " . $encryptedWithSameIV;

Расшифровка данных

Чтобы расшифровать ранее зашифрованные данные, используйте метод decrypt. Для обеспечения корректного дешифрования необходимо указать те же параметры, которые использовались при шифровании:

use Lithe\Support\Security\Crypt;

// Descriptografar sem IV fixo
$decrypted = Crypt::decrypt($encrypted);
echo "Dados Descriptografados: " . $decrypted;

// Descriptografar com IV fixo
$decryptedWithSameIV = Crypt::decrypt($encryptedWithSameIV, true, $data);
echo "Dados Descriptografados com IV Fixo: " . $decryptedWithSameIV;

Обработка исключений

Если APP_KEY не определен или недействителен, класс Crypt выдаст исключение CryptException. Очень важно обработать это исключение в своем коде, чтобы избежать непредвиденных ошибок:

use Lithe\Exceptions\Encryption\CryptException;

try {
    $encrypted = Crypt::encrypt($data);
    // Descriptografar sem IV fixo
    $decrypted = Crypt::decrypt($encrypted);
} catch (CryptException $e) {
    echo "Erro de Criptografia: " . $e->getMessage();
}

Заключительные соображения

Lithe Crypt предлагает практичный и безопасный способ шифрования и дешифрования данных в ваших приложениях PHP. Благодаря реализации алгоритма AES-256-CBC и простоте интеграции с платформой Lithe вы можете эффективно защитить свои данные. Попробуйте и посмотрите, как это может повысить безопасность вашего приложения!

Если у вас есть какие-либо вопросы или предложения, оставляйте комментарии ниже!

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/lithephp/lithe-crypt-simplificando-a-criptografia-em-aplicacoes-php-27jj?1 Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить это
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3