Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mengira Hash MD5 Fail dalam C menggunakan OpenSSL?

Bagaimana untuk Mengira Hash MD5 Fail dalam C menggunakan OpenSSL?

Linda Hamilton
Linda Hamiltonasal
2024-11-10 21:25:03732semak imbas

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

Mengira Cincang MD5 daripada Fail dalam C

Dalam senario di mana menjaga integriti data adalah kritikal, algoritma cincang MD5 memainkan peranan yang penting. Untuk mengira cincangan MD5 fail dalam C , berikut ialah pelaksanaan yang mantap menggunakan OpenSSL:

Pelaksanaan:

#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;
}

Pelaksanaan ini membuka fail, membaca kandungannya ke dalam penimbal, dan mengira cincangan MD5 menggunakan perpustakaan OpenSSL. Cincang kemudian ditukar kepada rentetan heksadesimal dan dipaparkan.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Hash MD5 Fail dalam C menggunakan OpenSSL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn