현재 위치: > 최신 기사 목록> md5_file ()를 사용하여 이미지 파일을 확인할 때 모범 사례

md5_file ()를 사용하여 이미지 파일을 확인할 때 모범 사례

M66 2025-06-02

PHP에서 MD5_FILE () 함수는 파일의 MD5 해시 값을 계산하기위한 매우 실용적인 도구입니다. 파일의 해시 값을 비교함으로써 이미지 파일이 변조되었는지 효과적으로 감지 할 수 있습니다. 이 기사는 MD5_File () 함수를 사용하여 이미지 파일의 무결성을 보장하는 방법을 자세히 소개합니다.

md5_file () 란 무엇입니까?

MD5_FILE () 함수는 지정된 파일의 MD5 해시 값을 계산하고 32 비트 16 진수 문자열을 반환합니다. MD5는 파일 확인에 종종 사용되는 일반적인 해싱 알고리즘입니다. 파일이 약간만 변경 되더라도 MD5 값은 크게 다릅니다.

기능 프로토 타입 :

 string md5_file(string $filename, bool $raw_output = false)
  • $ filename : 해시 값을 계산 해야하는 파일 경로.

  • $ raw_output : true 인 경우 원래 바이너리 형식을 반환하십시오. 기본 거짓이 16 진수 문자열을 반환합니다.

MD5_File ()을 사용하여 이미지 파일 무결성을 감지하는 이유는 무엇입니까?

이미지 파일은 전송 및 스토리지 중에 악의적으로 변조되거나 실수로 손상 될 수 있습니다. 이미지 파일의 원래 MD5 값을 저장함으로써 후속 용도로 다시 계산하고 비교할 수 있습니다. MD5 값이 일관되지 않으면 파일이 변조되거나 손상되었다고 판단 할 수 있습니다.


예 : md5_file ()을 사용하여 이미지 파일 무결성을 확인하십시오

업로드 할 때 MD5 값을 데이터베이스 또는 텍스트 파일에 저장하는 이미지 image.jpg 가 있다고 가정 해 봅시다. 그런 다음이 그림을 사용할 때마다 MD5를 다시 계산하고 비교하십시오.

1 단계 : 이미지 MD5 값을 계산하고 저장합니다

 <?php
$imagePath = 'uploads/image.jpg';
$md5Hash = md5_file($imagePath);

echo "이미지 파일 MD5 가치는입니다:".$md5Hash;

// 일반적으로 여기에 있습니다 $md5Hash 데이터베이스 또는 파일에 저장하십시오,후속 확인에 편리합니다
?>

2 단계 : 이미지가 변조되었는지 여부를 비교하고 감지합니다.

 <?php
$imagePath = 'uploads/image.jpg';

// 데이터베이스 또는 파일에서 저장된 이전에 읽으십시오MD5값
$originalMd5 = 'd41d8cd98f00b204e9800998ecf8427e';  // 예MD5값

$currentMd5 = md5_file($imagePath);

if ($currentMd5 === $originalMd5) {
    echo "이미지 파일은 변조되지 않았습니다。";
} else {
    echo "경고하다:이미지 파일이 변조되었을 수 있습니다!";
}
?>

원격 URL 파일을 확인하십시오

때로는 이미지 파일이 원격 서버에 존재하며 파일 내용을 먼저 다운로드 한 다음 MD5를 계산할 수 있습니다.

 <?php
$url = 'https://m66.net/path/to/image.jpg';
$tempFile = 'temp_image.jpg';

// 로컬 임시 파일로 원격 파일을 다운로드하십시오
file_put_contents($tempFile, file_get_contents($url));

// 다운로드 된 파일을 계산하십시오MD5값
$remoteMd5 = md5_file($tempFile);

echo "远程이미지 파일 MD5 값:".$remoteMd5;

// 임시 파일을 삭제합니다
unlink($tempFile);
?>

요약

  • MD5_FILE ()을 사용하여 파일의 MD5 해시 값을 계산하여 파일이 변조되었는지 여부를 감지 할 수 있습니다.

  • 원래 파일의 MD5 값을 저장하고 나중에 파일이 완료되도록 비교하십시오.

  • 로컬 파일에 적용하거나 먼저 원격 파일을 다운로드 한 다음 계산할 수 있습니다.

  • 이 방법은 파일이 수정 된 것을 감지하는 데 적합하지만 변조를 방지 할 수는 없으며 무결성 검증 수단으로 만 사용할 수 있습니다.