Comment crypter et décrypter des fichiers en toute sécurité à l'aide d'AES256 en PHP ?

Mary-Kate Olsen
Libérer: 2024-11-25 03:41:15
original
873 Les gens l'ont consulté

How to Securely Encrypt and Decrypt Files Using AES256 in PHP?

Cryptage/déchiffrement de fichiers avec Mcrypt

Mcrypt est obsolète et son utilisation n'est plus recommandée. Cet article présente une approche alternative utilisant openssl.

Chiffrement et décryptage AES256

Cette implémentation mise à jour utilise AES256 pour le chiffrement, offrant un niveau de sécurité nettement supérieur à celui de Mcrypt. Vous trouverez ci-dessous le code révisé :

class AES256Encryption
{
    public const BLOCK_SIZE = 8;
    public const IV_LENGTH = 16;
    public const CIPHER = 'AES256';

    public static function generateIv(bool $allowLessSecure = false): string
    {
        // Logic to generate a secure initialization vector
    }

    protected static function getPaddedText(string $plainText): string
    {
        // Logic to pad the plaintext to a multiple of the block size
    }

    public static function encrypt(string $plainText, string $key, string $iv): string
    {
        // Logic to encrypt the plaintext using AES256
    }

    public static function decrypt(string $encryptedText, string $key, string $iv): string
    {
        // Logic to decrypt the ciphertext using AES256
    }
}
Copier après la connexion

Utilisation :

$text = 'Your plaintext here';
$key = 'Your encryption key';
$iv = AES256Encryption::generateIv();
$encryptedText = AES256Encryption::encrypt($text, $key, $iv);
$decryptedText = AES256Encryption::decrypt($encryptedText, $key, $iv);

// Print the results
echo "Original Text: $text" . PHP_EOL;
echo "Encrypted: $encryptedText" . PHP_EOL;
echo "Decrypted: $decryptedText" . PHP_EOL;
Copier après la connexion

Ce code démontre le cryptage et le déchiffrement du texte en clair à l'aide d'AES256, garantissant une gestion sécurisée des données.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal