Comment puis-je crypter et décrypter en toute sécurité des fichiers en PHP à l'aide de bibliothèques modernes ?

DDD
Libérer: 2024-11-19 14:55:02
original
791 Les gens l'ont consulté

How Can I Securely Encrypt and Decrypt Files in PHP Using Modern Libraries?

Cryptage et déchiffrement de fichiers avec Mcrypt : une approche moderne

Introduction

Mcrypt, une fois une bibliothèque de chiffrement populaire pour PHP, est obsolète et son utilisation n'est plus recommandée. Pour un cryptage de fichiers sécurisé et fiable, des alternatives modernes comme OpenSSL ou Sodium PHP fournissent des solutions robustes.

Fonction de cryptage

Voici une fonction de cryptage mise à jour utilisant OpenSSL :

function encryptFile($fileData, $key)
{
    $iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('AES-256-CBC'));
    $encryptedData = openssl_encrypt($fileData, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv);
    return base64_encode($iv . $encryptedData);
}
Copier après la connexion

Fonction de décryptage

De même, la fonction de décryptage suivante utilise la nouvelle bibliothèque :

function decryptFile($encryptedData, $key)
{
    $ivSize = openssl_cipher_iv_length('AES-256-CBC');
    $iv = substr($encryptedData, 0, $ivSize);
    $encryptedData = substr($encryptedData, $ivSize);
    $decryptedData = openssl_decrypt($encryptedData, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv);
    return $decryptedData;
}
Copier après la connexion

Utilisation

Pour crypter un fichier, lisez son contenu dans une variable, appelez la fonction encryptFile avec le contenu et la clé de cryptage, et enregistrez les données cryptées dans le fichier de sortie.

Pour le décryptage, lisez le contenu du fichier crypté dans une variable, appelez la fonction decryptFile avec les données cryptées et la clé de déchiffrement, et écrivez les données déchiffrées dans le fichier de sortie.

Conclusion

En tirant parti du cryptage moderne bibliothèques, vous pouvez crypter et décrypter en toute sécurité des fichiers en PHP, garantissant ainsi la confidentialité et l'intégrité des données sensibles.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal