"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Lithe Crypt : simplifier la cryptographie dans les applications PHP

Lithe Crypt : simplifier la cryptographie dans les applications PHP

Publié le 2024-11-10
Parcourir:285

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

Lithe Crypt est un simple utilitaire de cryptage et de déchiffrement en PHP, conçu pour fonctionner avec le framework Lithe. Il utilise l'algorithme AES-256-CBC pour un traitement sécurisé des données.

Installation

Pour installer le package Lithe Crypt, vous pouvez utiliser Composer. Si vous ne l'avez pas déjà installé, assurez-vous que Composer est disponible sur votre système. Exécutez ensuite la commande suivante dans le répertoire de votre projet :

composer require lithemod/crypt

Exigences

  • PHP 8 ou supérieur
  • Extension OpenSSL activée dans votre installation PHP

Utiliser

Chargement des variables d'environnement

Avant d'utiliser la classe Crypt, vous devez charger vos variables d'environnement. Utilisez le code suivant pour charger votre fichier .env :

use Lithe\Support\Env;

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

Définition de l'APP_KEY

Assurez-vous que la variable d'environnement APP_KEY est définie. Cette clé doit être une chaîne codée en base64 de 32 octets. Vous pouvez le configurer dans votre fichier .env ou directement dans l'environnement serveur.

Exemple de clé base64 valide :

YXNkZmFnc2Rhc2RmYWdlcyBhc2RmYWdlcyBhYXNkZmFnc2Q=

Chiffrement des données

Pour chiffrer des données, utilisez la méthode encrypt de la classe Crypt. Vous pouvez également spécifier s'il faut utiliser un IV fixe (vecteur d'initialisation) pour le chiffrement :

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;

Décryptage des données

Pour décrypter des données précédemment chiffrées, utilisez la méthode de décryptage. Vous devez spécifier les mêmes paramètres que ceux utilisés lors du chiffrement pour garantir un déchiffrement correct :

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;

Gestion des exceptions

Si l'APP_KEY n'est pas défini ou n'est pas valide, la classe Crypt lancera une CryptException. Il est essentiel de gérer cette exception dans votre code pour éviter les erreurs inattendues :

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();
}

Considérations finales

Lithe Crypt offre un moyen pratique et sécurisé de gérer le cryptage et le décryptage des données dans vos applications PHP. Avec la mise en œuvre de l'algorithme AES-256-CBC et la facilité d'intégration avec le framework Lithe, vous pouvez protéger efficacement vos données. Essayez-le et voyez comment il peut améliorer la sécurité de votre application !

Si vous avez des questions ou des suggestions, n'hésitez pas à commenter ci-dessous !

Déclaration de sortie Cet article est reproduit sur : https://dev.to/lithephp/lithe-crypt-simplificando-a-criptografia-em-aplicacoes-php-27jj?1 En cas de violation, veuillez contacter [email protected] pour supprimer il
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3