현재 위치: > 최신 기사 목록> hash_final을 사용하여 파일의 해시 값을 계산하는 방법은 무엇입니까?

hash_final을 사용하여 파일의 해시 값을 계산하는 방법은 무엇입니까?

gitbox 2025-05-20

PHP에서 해싱 알고리즘은 파일 내용 또는 문자열과 같은 모든 길이의 데이터를 고정 길이 문자열로 변환하는 기술입니다. 공통 해싱 알고리즘에는 MD5, SHA-1, SHA-256 등이 포함됩니다. 파일을 처리 할 때 파일의 해시 값을 계산하는 데 사용하여 파일의 무결성을 확인하고 파일이 변조되지 않도록 할 수 있습니다.

PHP에서는 Hash_Final 함수를 사용하여 파일의 해시 값을 계산할 수 있습니다. 아래에서는 Hash_Final 함수를 사용하여 파일의 해시 값을 계산하고 이해하는 데 도움이되는 특정 코드 예제를 사용하는 방법을 소개합니다.

hash_final 함수는 무엇입니까?

HASH_Final 함수는 해시 계산을 완료하는 데 사용되는 PHP의 함수 중 하나입니다. 일반적으로 hash_inithash_update 와 함께 사용됩니다. 큰 데이터 (예 : 파일)를 처리 할 때는 청크 컴퓨팅 해시 값이 허용됩니다.

기능 프로토 타입 :

 string hash_final ( resource $context [, bool $raw_output = false ] )
  • $ Context : 이것은 Hash_Init 함수에 의해 초기화 된 리소스로, 현재 해시 계산 상태를 저장하는 데 사용됩니다.

  • $ raw_output : true 인 경우 해시 값을 이진 형식으로 반환합니다. false 인 경우 해시 값을 16 진 형식으로 반환합니다 (기본값은 False ).

해시 함수를 사용하여 파일의 해시 값을 계산합니다.

다음은 해시 기능을 사용하여 파일의 해시 값을 계산하는 방법을 보여주는 간단한 예입니다.

단계:

  1. Hash_init 함수를 사용하여 해시 계산 컨텍스트를 초기화하십시오.

  2. hash_update 함수를 사용하여 청크에서 파일을 읽고 해시 컨텍스트를 업데이트하십시오.

  3. Hash_Final 함수를 사용하여 최종 해시 값을 얻으십시오.

샘플 코드 :

 <?php

// 파일 경로
$file = 'path/to/your/file.txt';

// 해시 계산 초기화,해싱 알고리즘을 선택하십시오(좋다 md5, sha256 기다리다)
$context = hash_init('sha256');

// 파일을 열고 읽으십시오
$handle = fopen($file, 'rb');
if ($handle) {
    // 각각 읽습니다 8192 바이트
    while (!feof($handle)) {
        // 파일 내용을 읽으십시오
        $data = fread($handle, 8192);
        // 해시 값을 업데이트하십시오
        hash_update($context, $data);
    }
    fclose($handle);
} else {
    echo "파일을 열 수 없습니다!";
    exit;
}

// 파일의 해시 값을 계산하십시오
$hash = hash_final($context);

// 출력 해시 값
echo "파일의 해시 값은입니다: " . $hash;

?>

코드 구문 분석 :

  • 먼저 해시 계산을 초기화하려면 hash_init 함수를 호출하십시오. SHA256을 해싱 알고리즘으로 선택하고 MD5 , SHA1 등과 같은 다른 방법을 사용할 수도 있습니다.

  • Fopen 함수를 사용하여 파일을 열면 Fread는 파일 내용을 시간당 8192 바이트로 읽습니다. 이렇게하면 큰 파일을 처리 할 때 전체 파일을 한 번에 메모리에로드하여 효율성을 향상시키지 못할 수 있습니다.

  • Hash_update는 현재 해시 계산에 읽기 데이터를 추가합니다.

  • 마지막으로 Hash_Final을 호출하여 최종 해시 값을 얻으십시오.

주석을 사용하여 해시 값을 계산할 때

  • 성능 문제 : 대형 파일의 경우, 모든 데이터를 한 번에로드하는 대신 파일을 블록별로 읽으면 특히 큰 파일을 처리 할 때 메모리 소비를 효과적으로 줄일 수 있습니다.

  • 해시 알고리즘 선택 : 다른 해시 알고리즘 (예 : MD5 , SHA1 , SHA256 )은 다른 해시 값을 생성합니다. 알고리즘을 선택할 때 실제 요구에 따라 결정할 수 있습니다. 예를 들어, MD5는 32 자간 길이 해시 값을 생성하는 반면 SHA256은 64자가 긴 해시 값을 생성합니다.