본문 바로가기

MEMOINFO · FILE LAB

파일이 왜 이렇게 됐을까?

이미지·PDF·파일 관리의 궁금증을 직접 만든 예제와 측정값으로 살펴봅니다.
결과를 확인할 수 있도록 원본 파일과 재현 방법을 함께 공개합니다.

질문별로 글 찾아보기 →실험 자료 내려받기 →
파일 관리

이름이 다른 두 파일, 내용도 다를까? SHA-256으로 사본 비교하기

by memoinfogarage 2026. 10. 17.

다운로드한 파일에 ‘(1)’이 붙거나 복사본 이름을 바꾸면 같은 파일인지 헷갈리기 쉽습니다. 이름과 크기만으로 판단하지 않고 파일 내용에서 계산한 해시를 비교하면 도움이 됩니다. 이번에는 이름만 다른 사본과 문자 하나를 추가한 사본을 함께 만들었습니다.

세 파일에서 확인한 차이

original.txt와 renamed-copy.txt에는 ASCII 문자열 FILE LAB 뒤에 LF 줄바꿈을 넣었습니다. one-character-change.txt에는 느낌표 하나를 추가했습니다. Python의 hashlib.sha256으로 각 파일의 바이트를 읽어 계산했습니다.

파일 크기(B) SHA-256 앞 16자리
original.txt 9 17a6d4b1263e9c06…
renamed-copy.txt 9 17a6d4b1263e9c06…
one-character-change.txt 10 b9c6d3e8d46832d6…

이름만 다른 두 파일은 전체 64자리 SHA-256이 같았습니다. 느낌표를 추가한 파일은 값이 달랐습니다. 표의 앞부분은 읽기 편하게 줄여 놓았으며, 실제 비교에서는 첨부 기록의 전체 값을 사용해야 합니다. 몇 자리만 같은 것을 동일 파일의 증거로 쓰지 않습니다.

PowerShell에서 직접 비교

샘플을 푼 폴더에서 PowerShell을 열었다면 다음처럼 해당 파일의 경로를 지정할 수 있습니다. 명령은 파일을 수정하지 않고 해시를 읽습니다. 경로에 공백이 있으면 따옴표를 유지합니다.

Get-FileHash -LiteralPath './assets/original.txt' -Algorithm SHA256
Get-FileHash -LiteralPath './assets/renamed-copy.txt' -Algorithm SHA256

출력의 Hash 항목 전체를 비교하세요. 파일 이름이 달라도 내용이 같으면 같은 값을 기대할 수 있습니다. 이번 수치는 Python에서 계산했고, 아래 명령 예시는 PowerShell의 공식 사용법에 맞춘 재현 방법입니다. 모든 Windows 화면을 수동으로 시험한 결과라는 의미는 아닙니다.

해시가 다르면 무엇을 알 수 있나

같은 알고리즘에서 값이 다르면 바이트가 다르다는 뜻입니다. 그렇다고 화면에 보이는 문장이나 사진이 반드시 달라졌다는 뜻은 아닙니다. 문서 메타데이터, 줄바꿈, 인코딩이 바뀌어도 해시가 달라질 수 있습니다. 어떤 부분이 다른지는 문서 비교나 바이트 비교로 추가 확인해야 합니다.

동일 여부와 안전성은 다른 문제

두 파일의 해시가 같다는 것은 사본 비교에 유용하지만, 그 파일이 안전하거나 올바른 내용이라는 보증은 아닙니다. 배포자가 공개한 해시를 검증할 때는 해시를 가져온 출처 자체도 신뢰할 수 있어야 합니다. 중복 정리에 사용할 때도 경로와 보관 목적을 확인한 뒤 처리하고, 해시가 같다는 이유만으로 원본을 바로 삭제하지 마세요.

명령 정의: Microsoft Get-FileHash 문서.


실험 조건과 확인 자료

2026년 10월 17일, Windows 환경에서 합성 샘플을 만들고 자동화 코드로 저장·분석했습니다. 실제 회사 문서나 촬영 사진을 사용한 시험은 아닙니다. 특정 앱의 버튼을 직접 눌러 비교한 결과로 해석하지 마세요. 결과가 달라질 수 있는 조건은 본문에 구분했습니다.

실험 원본·결과 파일과 재현 방법에서 샘플 ZIP과 측정 기록을 확인할 수 있습니다.


소개 및 문의 · 개인정보처리방침 · 면책조항

© 2026 memoinfogarage