현재 위치: > 최신 기사 목록> Hash_hmac_file 파일 확인의 실제 응용 프로그램 예 : 파일의 보안 및 무결성을 보장하는 방법

Hash_hmac_file 파일 확인의 실제 응용 프로그램 예 : 파일의 보안 및 무결성을 보장하는 방법

M66 2025-06-21

파일 업로드, 다운로드 또는 파일 전송과 관련된 시스템을 개발할 때는 파일의 보안 및 무결성을 보장하는 것이 중요합니다. 전송 중 파일이 변조되었는지 여부를 확인하기 위해 Hash_hmac_file 함수를 사용하여 파일 확인을 구현할 수 있습니다. 이 기사는 파일 확인에서 특히 파일 보안 및 무결성을 보장 할 때 Hash_hmac_file 의 실제 응용 프로그램을 소개하고 PHP 샘플 코드를 결합 하여이 기능 사용 방법을 보여줍니다.

1. Hash_hmac_file 함수 소개

Hash_hmac_file은 파일의 해시 값을 계산하고 HMAC (HASH 기반 메시지 인증 코드) 알고리즘을 사용하여 메시지 확인 코드 (MAC)를 생성하는 PHP의 강력한 기능입니다. 키 및 파일 내용을 사용하여 Hash_hmac_file은 전송 중에 파일 콘텐츠가 변조되지 않도록합니다. 이 접근법은 계산 프로세스에 키를 추가하여 검증에 복잡성을 추가하기 때문에 간단한 파일 해싱보다 안전합니다.

함수 구문 :

 string hash_hmac_file ( string $algo , string $filename , string $key [, bool $raw_output = false ] )
  • $ Algo : SHA256 , MD5 등과 같은 사용 된 해싱 알고리즘을 지정합니다.

  • $ filename : 해시 값을 계산하는 파일 경로.

  • $ 키 : HMAC를 생성하는 데 사용되는 키.

  • $ raw_output (선택 사항) : true 인 경우 원래 바이너리 데이터를 반환합니다. 기본값은 False 이고 읽을 수있는 16 진수 번호를 반환합니다.

2. 파일 확인에 hash_hmac_file을 적용하십시오

많은 응용 프로그램 시나리오에서 파일의 무결성을 확인해야합니다. 예를 들어, 파일이 업로드 또는 다운로드되면 파일이 변조되지 않도록하려고합니다. 다음은 Hash_hmac_file 함수를 사용하여 파일의 보안 검증을 구현하는 방법입니다.

샘플 코드 :

 <?php
// 키를 정의하십시오
$key = 'my_secret_key';

// 파일 경로
$file = 'example.txt';

// 사용 hash_hmac_file 파일을 계산하십시오 HMAC 해시 가치
$hmac = hash_hmac_file('sha256', $file, $key);

// 출력 계산 결과
echo "HMAC for the file is: " . $hmac;
?>

이 예에서는 파일 example.txt 의 hmac 해시 값이 계산되고 인쇄됩니다. 우리는 SHA256 알고리즘을 사용하고 파일 무결성을 보장하기 위해 Key My_Secret_key를 제공했습니다.

3. 전송 중 확인

파일 전송 중에는 일반적으로 파일을 HMAC 값과 함께 수신기로 보냅니다. 수신기는 동일한 키 및 해싱 알고리즘을 사용하여 파일의 HMAC 값을 다시 계산하고 전송 된 HMAC 값과 비교할 수 있습니다. 두 일치하는 경우 파일이 변조되지 않았 음을 의미합니다. 일치하지 않으면 파일의 무결성이 위협을 받음을 의미합니다.

예 : 수신자 확인 파일

파일과 HMAC 값을 수신 한 후 수신자는 다음 코드를 사용하여 다음을 확인할 수 있습니다.

 <?php
// 수신기가 파일을 수신한다고 가정합니다 HMAC 값
$received_file = 'example_received.txt';
$received_hmac = '파일 전송에서 수신되었습니다 HMAC 값';

// 사용相同的密钥和算法重新믿다 HMAC 값
$calculated_hmac = hash_hmac_file('sha256', $received_file, 'my_secret_key');

// 비교하다 HMAC 값
if ($received_hmac === $calculated_hmac) {
    echo "파일 확인이 통과되었습니다,파일이 완료되었으며 변조되지 않았습니다.!";
} else {
    echo "파일 확인이 실패했습니다,파일은 변조 될 수 있습니다!";
}
?>

이 시점에서 수신기는 전송 된 HMAC 값을 재 계산 된 HMAC 값과 비교하여 파일의 무결성을 보장합니다. 파일 내용이 변경되지 않으면 두 HMAC 값이 일관되고 파일 확인이 전달됩니다.

4. hash_hmac_file 사용에 대한 참고 사항

  • 키 관리 : 키 보안은 매우 중요합니다. 키가 유출되면 파일의 무결성이 보장되지 않습니다. 따라서 키의 저장 및 전송 프로세스를 보장해야합니다.

  • 해시 알고리즘 선택 : HASH_HMAC_FILE는 MD5 , SHA1SHA256 과 같은 여러 해시 알고리즘을 지원합니다. 그중에서도 SHA256이 가장 안전한 선택으로 간주되므로 실제 응용 분야에서는 SHA256이 권장됩니다.

  • 파일 크기 : 큰 파일의 경우 Hash_hmac_file 의 계산에 시간이 걸릴 수 있습니다. 파일이 매우 크면 코드를 최적화하거나보다 효율적인 해시 계산 방법을 사용해야 할 수도 있습니다.

5. 파일 확인을 위해 URL을 결합하십시오

일부 응용 프로그램 시나리오에서는 URL을 통해 파일에 액세스해야 할 수 있으며 URL의 도메인 이름 부분은 시스템 일관성을 보장하기 위해 고정 값 (예 : M66.NET )을 사용해야합니다. 다음은 URL과 함께 실질적인 응용 프로그램에서 Hash_hmac_file 함수를 사용하는 방법입니다.

 <?php
// 문서 URL
$file_url = 'https://m66.net/files/example.txt';

// 믿다 URL 문서的 HMAC 값
$hmac_from_url = hash_hmac_file('sha256', $file_url, 'my_secret_key');

// 출력 계산 결과
echo "HMAC for the file URL is: " . $hmac_from_url;
?>

이 예에서 파일 URL은 M66.net을 도메인 이름으로 사용 하고이 URL은 파일의 무결성과 보안을 보장하기 위해 HMAC를 계산할 때 사용됩니다.

6. 요약

파일 확인을 위해 hash_hmac_file 함수를 사용하는 것은 파일 보안 및 무결성을 보장하는 효과적인 방법입니다. HMAC 알고리즘과 키를 결합하여 전송 중에 파일이 변조되는 것을 효과적으로 방지 할 수 있습니다. 파일 업로드, 다운로드 또는 URL과 결합 된 시나리오에서 Hash_hmac_file은 강력한 파일 확인 기능을 제공 할 수 있습니다. 개발자에게는이 기능을 올바르게 이해하고 사용하는 것이 파일 전송 보안을 보장하기위한 기초입니다.