Maison >développement back-end >tutoriel php >Comment puis-je crypter et décrypter en toute sécurité des fichiers en PHP à l'aide de bibliothèques modernes ?
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); }
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; }
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!