Maison >développement back-end >C++ >Comment calculer le hachage MD5 d'un fichier en C en utilisant OpenSSL ?
Calcul du hachage MD5 à partir d'un fichier en C
Dans les scénarios où la protection de l'intégrité des données est essentielle, l'algorithme de hachage MD5 joue un rôle essentiel. Pour calculer le hachage MD5 d'un fichier en C, voici une implémentation robuste utilisant OpenSSL :
Implémentation :
#include <fstream> #include <openssl/md5.h> int main() { // Open the file std::ifstream file("input_file.txt"); // Create a buffer to store the file contents std::vector<char> buffer(std::istreambuf_iterator<char>(file), {}); // Calculate the MD5 hash unsigned char hash[MD5_DIGEST_LENGTH]; MD5((unsigned char*) buffer.data(), buffer.size(), hash); // Convert the hash to a string std::stringstream ss; for (int i = 0; i < MD5_DIGEST_LENGTH; i++) { ss << std::hex << std::setfill('0') << std::setw(2) << (int) hash[i]; } std::string md5_hash = ss.str(); // Print the MD5 hash std::cout << "MD5 hash: " << md5_hash << std::endl; return 0; }
Cette implémentation ouvre le fichier, lit son contenu dans un tampon et calcule le hachage MD5 à l'aide de la bibliothèque OpenSSL. Le hachage est ensuite converti en chaîne hexadécimale et affiché.
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!