ホームページ  >  記事  >  バックエンド開発  >  OpenSSL を使用して C でファイルの MD5 ハッシュを計算するにはどうすればよいですか?

OpenSSL を使用して C でファイルの MD5 ハッシュを計算するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-10 21:25:03685ブラウズ

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

C でファイルから MD5 ハッシュを計算する

データの整合性の保護が重要なシナリオでは、MD5 ハッシュ アルゴリズムが重要な役割を果たします。 C でファイルの MD5 ハッシュを計算するために、OpenSSL を利用した堅牢な実装を次に示します。

実装:

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

この実装はファイルを開き、その内容を読み取ります。をバッファに格納し、OpenSSL ライブラリを使用して MD5 ハッシュを計算します。ハッシュは 16 進文字列に変換されて表示されます。

以上がOpenSSL を使用して C でファイルの MD5 ハッシュを計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。