일반적인 파일 시스템은 관리하는 모든 파일의 체크섬/CRC/해시를 유지하는 경향이 있으므로 파일 손상을 감지 할 수 있습니다.명시 적으로 계산하지 않고 파일 시스템에서 파일 체크섬 가져 오기
맞습니까? 그리고 그렇다면 액세스 할 수있는 방법이 있습니까?
저는 주로 Windows와 NTFS에 관심이 있지만 다른 플랫폼에 대한 의견도 환영합니다 ...이 시점에서는 언어가 중요하지 않지만 가능한 경우 어셈블러를 피하고 싶습니다.
감사합니다.
일반적인 파일 시스템은 관리하는 모든 파일의 체크섬/CRC/해시를 유지하는 경향이 있으므로 파일 손상을 감지 할 수 있습니다.명시 적으로 계산하지 않고 파일 시스템에서 파일 체크섬 가져 오기
맞습니까? 그리고 그렇다면 액세스 할 수있는 방법이 있습니까?
저는 주로 Windows와 NTFS에 관심이 있지만 다른 플랫폼에 대한 의견도 환영합니다 ...이 시점에서는 언어가 중요하지 않지만 가능한 경우 어셈블러를 피하고 싶습니다.
감사합니다.
좋아요, 제가 묻는 것은 불가능한 것처럼 보입니다.
여기에 대해서도 설명했습니다. There is in Windows file systems a pre computed hash for each file?
대부분의 파일 시스템과 저장소 하드웨어에서 전체 파일이 아닌 allocation units의 체크섬을 유지합니다.
하드웨어의 체크섬은 일반적으로 액세스 할 수 없으며 파일 시스템 클러스터의 체크섬은 대다수의 경우별로 유용하지 않으므로 가능한 경우 얻을 수 없습니다.
CRC 검사는 디스크 드라이브의 작업입니다. –
@HansPassant 블록 수준에서 확실합니다. 하지만 파일 수준은 어떻습니까? –
에 해당하는 OS 및 파일 시스템에 따라 다릅니다 ... 예를 들어 ZFS (Sun, Linux 및 OSX에서 사용 가능) ... 어쨌든 파일 시스템에 의해 계산/저장되는 경우 일반적으로 문서화 된 API를 통해 액세스 할 수 없습니다. .. 그걸 얻기 위해선 일반적으로 깊이 파고 들어 어떤 경우에는 특정 권한 (관리자, 루트 또는 심지어 커널 모듈/드라이버)이 필요한 문서화되지 않은 무언가를 사용해야합니다 ... 이것은 보통 자신의 계산보다 많은 문제입니다 체크섬 ... 목표가 정확히 무엇입니까? – Yahia