파일 묶음 무결성 검증기
보낸 사람이 제공한 파일 목록·크기·SHA-256과 받은 파일 묶음을 대조합니다. 기준 문서의 형식을 먼저 검사한 다음 직접 선택한 파일을 작은 조각으로 읽어 일치·변경·누락·추가·확인 불가를 구분합니다. 새 기준 목록도 만들 수 있지만 목록 생성 자체는 받은 묶음의 검증이 아닙니다.
주요 기능
- 중복 키·중복 경로를 거부하는 엄격한 v1 JSON 형식
- 정확한 상대 경로·바이트 크기·SHA-256 비교
- 누락·추가·읽기 실패를 구분하는 결과
- 256 KiB 순차 읽기와 취소, 부분 성공 방지
- 전체 CSV·JSON 보고서와 선택적인 새 기준 목록
- 폴더 루트 처리 선택과 실제 1바이트 변경 예제
사용 방법
- 이 도구의 v1 규격으로 작성된 기준 JSON을 붙여 넣거나 선택합니다.
- 실제 파일 또는 폴더를 선택하고 루트 폴더 이름을 뺄지 정한 뒤 비교 경로를 확인합니다.
- 검증을 실행하고 읽기를 기다립니다. 취소하면 해당 실행 결과를 폐기합니다.
- 다섯 가지 결과와 읽기 실패를 확인합니다. 필터는 미리보기에만 적용됩니다.
- 전체 보고서를 저장하거나 실제 파일에서 별도의 새 기준 목록을 만듭니다.
활용 예시
- 전달받은 연구 데이터 묶음에서 누락된 파일 확인
- 인수인계·백업 복사 이후 한 바이트 변경 찾기
- 작은 이미지·문서 묶음을 보내기 전에 기준 목록 만들기
자주 묻는 질문
어떤 매니페스트 형식을 지원하나요?
이 도구의 엄격한 JSON 형식만 지원합니다. format은 teck-tani-file-manifest, version은 1, algorithm은 SHA-256, pathRule은 relative-posix-exact이며 files의 각 항목에는 path·size·sha256만 넣습니다. 알 수 없는 필드, 중복 키·경로, 잘못된 해시 길이와 다른 알고리즘은 거부합니다. 숫자는 음수가 아닌 십진 정수 표기만 허용하며 소수·지수 표기는 쓰지 않습니다. 일반 체크섬 텍스트 파일은 가져오지 않습니다.
경로는 어떻게 비교하나요?
상대 POSIX 경로를 대소문자와 유니코드 코드 포인트 그대로 비교합니다. 폴더 선택에서는 첫 루트 이름 하나를 뺄 수 있고, 일반 파일 선택에서는 파일 이름만 사용합니다. 대소문자 통합·유니코드 정규화·경로 추측을 하지 않습니다. 절대 경로, 역슬래시·콜론, 점·빈 경로 조각, 제어·양방향 제어 문자, 짝 없는 서로게이트와 조각 양끝 공백은 거부합니다. 전체 경로는 유니코드 512자, 각 조각은 255자 이내입니다.
다섯 가지 검증 결과는 무슨 뜻인가요?
일치는 경로·바이트 크기·SHA-256이 모두 같다는 뜻입니다. 변경은 기준 파일의 크기나 해시가 다를 때, 누락은 같은 경로의 파일을 선택하지 않았을 때, 추가는 읽을 수 있는 실제 파일이 기준에 없을 때입니다. 확인 불가는 바이트 전체를 읽지 못한 경우이며 추가보다 우선 표시됩니다. 읽기 실패를 일치로 처리하지 않고, 취소하면 보고서를 반환하지 않습니다.
파일 크기와 메모리 제한은 어떻게 되나요?
기준·실제 묶음 각각 200개, 파일당 256 MiB, 묶음당 1 GiB, UTF-8 기준 JSON 256 KiB까지입니다. 해시는 한 번에 256 KiB를 읽고 조각 사이에 화면에 실행 기회를 돌려줍니다. 취소 시 현재 브라우저 읽기가 끝날 때까지 기다리며 그동안 새 작업을 시작하지 않습니다. 빈 파일도 해시를 계산합니다. 기준과 실제 묶음이 모두 비어 있으면 차이는 없지만 어떤 내용이 확인된 것은 아닙니다. 생성한 압축 JSON 기준을 다시 읽을 수 있도록 JSON 인코딩 경로 문자열 합계를 200 KiB로 제한합니다.
일치하면 안전한 파일이나 진짜 보낸 사람임이 보장되나요?
아닙니다. 제공된 기준과 일관된다는 뜻이며 기준의 출처는 따로 신뢰할 수 있어야 합니다. 전자 서명 검증·악성코드 검사·압축 해제·빈 폴더 누락 탐지·파일 권한·심볼릭 링크·수정 시각 검증은 하지 않습니다. 두 폴더 전체 스냅샷이 아닌, 선택한 파일의 바이트와 경로를 비교합니다.
보고서와 새 기준 목록에는 무엇이 들어가나요?
보고서는 필터와 관계없이 모든 경로를 포함합니다. CSV는 UTF-8 BOM·CRLF·따옴표 이스케이프를 사용하며 수식처럼 시작하는 문자열에는 작은따옴표를 붙입니다. JSON에는 원래 경로를 보존합니다. 새 기준은 실제로 읽은 파일만 포함하므로 추가 파일은 들어가고 누락된 기준 파일은 빠집니다. 하나라도 읽기 실패가 있으면 생성하지 않습니다. 새 기준을 만들어도 입력한 기대 목록을 덮어쓰거나 출처를 인증하지 않습니다.
개인정보 안내
선택한 파일의 내용·경로·해시·보고서는 페이지 메모리에서 처리합니다. 이 도구는 해당 데이터를 네트워크로 전송하거나 자동 저장하지 않습니다. 다운로드는 직접 요청할 때만 만들며 내보낸 파일 이름과 해시에도 민감한 정보가 담길 수 있습니다. 페이지를 떠나면 저장하지 않은 결과가 사라집니다.
댓글과 질문