Heim > Backend-Entwicklung > C++ > Hauptteil

Wie berechnet man den MD5-Hash einer Datei in C mit OpenSSL?

Linda Hamilton
Freigeben: 2024-11-10 21:25:03
Original
679 Leute haben es durchsucht

How to Calculate the MD5 Hash of a File in C   using OpenSSL?

Berechnen des MD5-Hash aus einer Datei in C

In Szenarien, in denen der Schutz der Datenintegrität von entscheidender Bedeutung ist, spielt der MD5-Hash-Algorithmus eine entscheidende Rolle. Um den MD5-Hash einer Datei in C zu berechnen, finden Sie hier eine robuste Implementierung unter Verwendung von OpenSSL:

Implementierung:

#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;
}
Nach dem Login kopieren

Diese Implementierung öffnet die Datei und liest ihren Inhalt in einen Puffer und berechnet den MD5-Hash mithilfe der OpenSSL-Bibliothek. Der Hash wird dann in eine hexadezimale Zeichenfolge umgewandelt und angezeigt.

Das obige ist der detaillierte Inhalt vonWie berechnet man den MD5-Hash einer Datei in C mit OpenSSL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage