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
Lepaskan: 2024-11-10 21:25:03
asal
767 orang telah melayarinya

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;
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan