Maison >développement back-end >tutoriel php >Lithe Crypt : simplifier la cryptographie dans les applications PHP

Lithe Crypt : simplifier la cryptographie dans les applications PHP

DDD
DDDoriginal
2024-11-05 22:01:03301parcourir

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

Lithe Crypt est un simple utilitaire de chiffrement et de décryptage 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 si vous souhaitez 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 cryptées, utilisez la méthode de décryptage. Vous devez spécifier les mêmes paramètres utilisés lors du chiffrement pour garantir un décryptage 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 !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn