2011-10-18 3 views
5

일반적인 파일 시스템은 관리하는 모든 파일의 체크섬/CRC/해시를 유지하는 경향이 있으므로 파일 손상을 감지 할 수 있습니다.명시 적으로 계산하지 않고 파일 시스템에서 파일 체크섬 가져 오기

맞습니까? 그리고 그렇다면 액세스 할 수있는 방법이 있습니까?

저는 주로 Windows와 NTFS에 관심이 있지만 다른 플랫폼에 대한 의견도 환영합니다 ...이 시점에서는 언어가 중요하지 않지만 가능한 경우 어셈블러를 피하고 싶습니다.

감사합니다.

+3

CRC 검사는 디스크 드라이브의 작업입니다. –

+0

@HansPassant 블록 수준에서 확실합니다. 하지만 파일 수준은 어떻습니까? –

+0

에 해당하는 OS 및 파일 시스템에 따라 다릅니다 ... 예를 들어 ZFS (Sun, Linux 및 OSX에서 사용 가능) ... 어쨌든 파일 시스템에 의해 계산/저장되는 경우 일반적으로 문서화 된 API를 통해 액세스 할 수 없습니다. .. 그걸 얻기 위해선 일반적으로 깊이 파고 들어 어떤 경우에는 특정 권한 (관리자, 루트 또는 심지어 커널 모듈/드라이버)이 필요한 문서화되지 않은 무언가를 사용해야합니다 ... 이것은 보통 자신의 계산보다 많은 문제입니다 체크섬 ... 목표가 정확히 무엇입니까? – Yahia

답변

1

대부분의 파일 시스템과 저장소 하드웨어에서 전체 파일이 아닌 allocation units의 체크섬을 유지합니다.

하드웨어의 체크섬은 일반적으로 액세스 할 수 없으며 파일 시스템 클러스터의 체크섬은 대다수의 경우별로 유용하지 않으므로 가능한 경우 얻을 수 없습니다.