PHP의 sha1_file() 함수는 파일의 내용을 읽어 SHA-1 해시 값을 계산하는 데 사용되는 내장 함수입니다. 파일 무결성 검증이나 중복 파일 확인 등에 유용하게 활용할 수 있습니다.
문법(Syntax)
sha1_file(file_name, raw)
매개변수(Parameters)
file_name − 해시를 계산할 대상 파일의 경로를 지정합니다.
raw − 출력 형식을 지정하는 선택적 불리언(Boolean) 값입니다.
TRUE − 길이 20자의 원시(raw) 바이너리 형식으로 출력합니다.
FALSE − 길이 40자의 16진수(hex) 문자열로 출력합니다. (기본값)
반환값(Return)
sha1_file() 함수는 성공 시 해당 파일의 SHA-1 해시 문자열을 반환하며, 실패 시(파일이 존재하지 않거나 읽을 수 없는 경우) FALSE를 반환합니다.
예제(Example)
다음은 sample.txt 파일의 SHA-1 해시를 계산하는 예제입니다.
<?php
$s = "sample.txt";
$sha1file = sha1_file($s);
echo $sha1file;
?>
출력 결과(Output)
위 코드를 실행하면 다음과 같은 40자리 16진수 해시 값이 출력됩니다.
aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d
참고 사항
SHA-1은 과거 널리 사용되었지만, 현재는 충돌(collision) 취약점이 발견되어 보안 목적으로는 권장되지 않습니다. 보안이 중요한 작업에는 hash_file('sha256', ...)과 같은 SHA-256 이상의 알고리즘 사용을 권장합니다. 단, 단순한 파일 비교나 무결성 확인 용도로는 여전히 활용될 수 있습니다.