>백엔드 개발 >C++ >OpenSSL을 사용하여 C에서 파일의 MD5 해시를 계산하는 방법은 무엇입니까?

OpenSSL을 사용하여 C에서 파일의 MD5 해시를 계산하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-10 21:25:03731검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.