Position actuelle: Accueil> Derniers articles> Un guide complet de la mise en œuvre du cryptage AES et du décryptage en PHP

Un guide complet de la mise en œuvre du cryptage AES et du décryptage en PHP

gitbox 2025-07-26

Introduction à l'algorithme de chiffrement AES

AES (Advanced Encryption Standard) est un algorithme de cryptage symétrique largement utilisé. Il a été officiellement publié par le National Institute of Standards and Technology (NIST) en 2001 et est principalement utilisé pour remplacer l'algorithme DES (Norme de cryptage de données) qui s'est avéré être peu sûr.

AES utilise un nombre fixe de tours pour crypter les données (y compris le remplacement, la disposition, l'obscurcissement, etc.), et prend en charge les longueurs de clés 128 bits, 192 bits et 256 bits. En raison de ses avantages tels que l'efficacité, la sécurité et la compatibilité multiplateforme, il est maintenant devenu la solution grand public pour le cryptage des données modernes.

Encryption AES intégrée dans PHP

Pour implémenter le cryptage AES dans PHP, il est recommandé d'utiliser la bibliothèque de chiffrement fournie par DeFuse \ Crypto . Il est simple et facile à utiliser, à haute sécurité et a de bonnes pratiques dans plusieurs projets PHP.

Installez la bibliothèque de chiffrement DeFuse

Tout d'abord, vous devez installer la bibliothèque de chiffrement DeFuse via le compositeur:

 composer require defuse/php-encryption

Crypter les données à l'aide d'AES

Ensuite, utilisez cette bibliothèque pour crypter les données. Voici les usages de base:

 $key = 'your_secret_key';
$aes = new Defuse\Crypto\Key($key);
$data = 'your_data';
$encryptedData = $aes->encrypt($data);

Le code ci-dessus crypte $ data comme $ EncryptedData , qui peut être utilisé pour un stockage ou une transmission sécurisé.

Données décryptées AES

Pour restaurer les données chiffrées aux données d'origine, appelez simplement la méthode Decrypt avec la même clé et objet:

 $decryptedData = $aes->decrypt($encryptedData);

Cela vous permet d'obtenir des résultats qui sont exactement cohérents avec les données d'origine.

Exemple de code PHP complet

Voici un exemple complet de code PHP couvrant l'intégralité du processus de l'installation au chiffrement et au déchiffrement:

 // InstallerAESBibliothèque
composer require defuse/php-encryption

// Données cryptées
$key = 'your_secret_key';
$aes = new Defuse\Crypto\Key($key);
$data = 'your_data';
$encryptedData = $aes->encrypt($data);

// Décrypter les données
$decryptedData = $aes->decrypt($encryptedData);

echo "Données brutes:" . $data;
echo "Données cryptées:" . $encryptedData;
echo "Données décryptées:" . $decryptedData;

Veuillez noter: La clé de clé $ doit être définie sur une chaîne sécurisée de 16 ou 32 bits et ne doit pas être codé en dur dans le code. Il est recommandé d'utiliser des variables d'environnement ou des fichiers de configuration pour la gestion.

Résumer

Le cryptage AES est une méthode de chiffrement avec une haute sécurité et des performances excellentes, adaptées aux besoins de protection des données dans divers scénarios. Dans les projets PHP, avec des bibliothèques de chiffrement matures telles que DeFuse, le cryptage et le déchiffrement des données sensibles peuvent être rapidement et en toute sécurité.

Dans les applications pratiques, les clés de chiffrement doivent être gérées raisonnablement pour éviter les fuites, et le mécanisme de vérification des données doit être combiné pour assurer la sécurité de la transmission et du stockage.