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 サイトの他の関連記事を参照してください。