티스토리 뷰
파일 크기가 같아도 내용은 다를 수 있습니다
백업 폴더에 파일이 있고 용량도 비슷하면 복사가 끝났다고 판단하기 쉽습니다. 하지만 같은 길이의 문자를 바꾼 파일은 크기가 그대로이고, 이름을 바꾼 동일 파일은 이름이 달라집니다. 이 글은 파일 이름 대신 파일 내용의 해시를 비교하는 작은 실습입니다. 운영 백업을 건드리지 않고 연습용 파일 두 개로 판단 과정을 확인합니다.
대상은 Windows에서 PowerShell을 사용하는 실무자입니다. 해시는 입력 바이트로부터 계산되는 값입니다. 두 파일의 SHA-256이 같다는 결과는 동일 내용 여부를 점검하는 데 유용하지만, 파일 출처가 믿을 만한지나 악성 코드가 없는지를 보증하지는 않습니다. 기대값을 공격자가 함께 바꿀 수 있는 상황에서는 별도의 서명과 신뢰할 수 있는 전달 경로가 필요합니다.
작은 연습 폴더에서 비교합니다
아래 명령은 문서 폴더에 HashPractice 폴더를 만들고 새로운 연습 파일을 생성합니다. 기존에 같은 파일이 있다면 이름을 바꾸어 사용하세요. 실제 업무 파일 경로를 대입하기 전에 이 실습부터 수행합니다.
$labDir = Join-Path ([Environment]::GetFolderPath('MyDocuments')) 'HashPractice'
New-Item -ItemType Directory -Path $labDir -ErrorAction Stop
$original = Join-Path $labDir 'original.txt'
$copy = Join-Path $labDir 'copy.txt'
'연습 자료 A' | Set-Content -LiteralPath $original -Encoding utf8
Copy-Item -LiteralPath $original -Destination $copy -ErrorAction Stop
$left = Get-FileHash -LiteralPath $original -Algorithm SHA256
$right = Get-FileHash -LiteralPath $copy -Algorithm SHA256
$left.Hash -eq $right.Hash
정상 복사라면 마지막 비교가 True입니다. 이번 작성 과정에서는 별도 연습 폴더의 PowerShell 7.6.5에서 동일 파일 비교 True와 한 줄 추가 후 False를 확인했습니다. 운영 파일이나 실제 백업 장비의 무결성을 검사한 결과는 아닙니다.
불일치를 만들고 결과를 읽습니다
'추가된 연습 문장' | Add-Content -LiteralPath $copy -Encoding utf8
(Get-FileHash -LiteralPath $original -Algorithm SHA256).Hash -eq (Get-FileHash -LiteralPath $copy -Algorithm SHA256).Hash
내용을 추가한 뒤에는 False가 예상됩니다. 원본과 복사본의 경로를 함께 기록해야 비교 대상을 잘못 잡는 실수를 막을 수 있습니다. 경로가 틀리거나 읽기 권한이 없어서 명령이 실패했다면 결과를 ‘불일치’로 쓰지 말고 ‘검사 실패’로 분리합니다. 파일이 계속 변경되는 동안 계산하면 시점이 다른 내용을 비교할 수 있으므로 작업 완료 시점을 먼저 정합니다.
비교 대상을 잘못 고르지 않는 기록
가상 파일 original.txt와 copy.txt를 비교했는데 값이 같다고 가정해 보겠습니다. 비교 결과 옆에 두 경로를 적지 않으면 다른 폴더의 오래된 copy.txt를 읽었는지 알기 어렵습니다. 파일 선택 단계에서 경로와 수정 시각을 확인하고, 해시 계산 뒤에도 결과 개체의 Path를 대조합니다. 파일을 다시 저장한 다음에는 이전 검사 시각과 새로운 검사 시각을 나누어 기록합니다.
전송 중인 큰 파일은 복사 완료 전에 읽지 않습니다. 파일이 작성 중이면 일치하지 않는 결과가 나와도 전송 오류인지 시점 차이인지 아직 알 수 없습니다. 작성자가 작업 완료를 확인한 뒤 사본을 고정해 비교하고, 불일치가 남으면 크기·인코딩·줄바꿈·선택 경로를 순서대로 조사합니다. 해시를 바꿔 결과를 맞추지 않습니다.
실제 백업에 적용할 때 남길 기록
기록 항목은 검사 시각, 상대 경로, 알고리즘, 원본 해시, 복사본 해시, 판정입니다. 해시는 대소문자 표기보다 값 자체의 일치가 중요합니다. 텍스트의 눈에 보이는 글자가 같아도 줄바꿈과 인코딩이 달라지면 바이트가 달라져 해시가 바뀔 수 있습니다. 보고서를 수정한 후 이전 해시와 비교해 불일치를 장애로 오해하지 않도록 버전도 남깁니다.
오늘의 다음 행동은 중요하지 않은 연습 파일 하나를 복사하고, 정상·변경·경로 오류 세 경우를 각각 기록하는 것입니다. 파일 한 개의 비교를 이해한 뒤 여러 파일 목록 검증으로 확장하세요. 복원 가능 여부는 이 검사만으로 결정할 수 없으므로 실제 열기와 복원 시험을 별도로 수행합니다.
공식 자료와 확인 범위
기술 자료 확인일: 2026년 10월 12일. 교육용 자료는 실제 기관·고객의 기록이 아닙니다.
'AI·IT 실무' 카테고리의 다른 글
| Windows 오류 발생 시각 찾기: 이벤트 로그를 좁혀 읽는 순서 (0) | 2026.10.15 |
|---|---|
| 백업 성공 메시지 다음에 할 일: 작은 파일로 복원 테스트하는 방법 (0) | 2026.10.14 |
| Gemini agent란? 발표 내용과 회사 도입 전 확인할 사항 (0) | 2026.10.12 |
| 금요일마다 기억을 되짚던 내가 AI로 주간업무보고 초안을 만든 과정 (0) | 2026.10.05 |
| ChatGPT와 Claude Code에 어디까지 권한을 줘야 할까, 내가 정한 5단계 (0) | 2026.10.04 |
