C에서 파일의 MD5 해시 얻기
파일의 MD5 해시를 확인하려면 다음 단계를 활용할 수 있습니다.
1단계: 파일 설명자 설정 및 파일 결정 크기
open() 함수를 사용하여 대상 파일에 대한 파일 설명자를 얻습니다. 그런 다음 fstat() 함수를 활용하여 파일 크기를 확인합니다.
2단계: 파일을 메모리에 매핑
mmap() 함수를 사용하여 파일을 메모리에 매핑합니다. 읽기 전용 액세스를 제공하는 메모리입니다. 이 매핑을 사용하면 파일 내용에 직접 액세스할 수 있습니다.
3단계: MD5 해시 계산
OpenSSL 라이브러리를 활용하여 MD5() 함수를 호출하여 MD5 해시를 계산합니다.
4단계: 다음에서 파일 매핑 해제 메모리
MD5 해시가 계산되면 munmap() 함수를 사용하여 메모리에서 파일 매핑을 해제합니다. 이 단계에서는 파일 매핑이 해제됩니다.
5단계: 파일 이름과 함께 MD5 해시 인쇄
참조용 해당 파일 이름과 함께 계산된 MD5 해시를 표시합니다.
다음 C 코드 조각은 이 프로세스를 보여줍니다.
#include <openssl/md5.h> void computeMD5(const char* filename) { // Establish file descriptor and determine file size int fd = open(filename, O_RDONLY); struct stat statbuf; fstat(fd, &statbuf); size_t file_size = statbuf.st_size; // Map file into memory char* file_buffer = (char*)mmap(0, file_size, PROT_READ, MAP_SHARED, fd, 0); // Compute MD5 hash unsigned char md5[MD5_DIGEST_LENGTH]; MD5((unsigned char*)file_buffer, file_size, md5); // Unmap file from memory munmap(file_buffer, file_size); // Print MD5 hash with file name printf("MD5 hash of '%s': ", filename); for (int i = 0; i < MD5_DIGEST_LENGTH; i++) { printf("%02x", md5[i]); } printf("\n"); }
위 내용은 C를 사용하여 파일의 MD5 해시를 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!