2012-11-01 3 views

답변

3

파일 형식과 파일 시스템에 따라 다릅니다.

파일이 OLE 형식 인 경우 속성은 파일에 포함되어 있으므로 파일 자체가 수정됩니다. 이로 인해 파일 데이터가 수정되고 크기가 변경 될 수 있습니다. 모든 파일 해시 생성기 (예 : CRC, MD5, SHA1 등)는 속성 중 하나가 변경되기 전과 후에 다른 결과를 생성합니다.

파일이 OLE 형식이 아닌 경우 모든 속성은 파일 데이터와 물리적으로 분리 된 하나 이상의 NTFS 파일 스트림에 저장됩니다. 이로 인해 파일의 최종 수정 시간이 변경되지만 파일 데이터가 수정되거나 크기가 변경되지는 않습니다. 파일 해시 생성기는 프로그램이 파일의 마지막 수정 시간과 파일 스트림을 고려하지 않는다는 가정하에 속성 중 하나가 변경되기 전과 후에 동일한 결과를 생성합니다. NTFS가 아닌 파일 시스템의 경우 OLE 파일 속성은 모든 파일에 적용 할 수 없습니다.

+0

매우 흥미 롭습니다! 비록이 문서가 희귀하다고 생각 하긴하지만 이것에 대한 모든 언급은 크게 감사 할 것입니다 ... –

+0

Microsoft KB는 실제로 섹션에서 간단한 설명을 가지고 있습니다 * 사용자 지정 응용 프로그램 *의 DsoFile 구성 요소를 사용하지만 기술적 인 세부 사항은 없습니다. 적용 가능한 시점과 그렇지 않은 시점을 설명합니다. NTFS 파일 스트림은 MSDN에서 일반적으로 설명되어 있지만 NTFS 구조 및 작동의 내부 세부 정보는 Microsoft 사이트에서 찾을 수 없습니다. 이것은 다른 곳에있을 수 있습니다. – Jay

+0

그 토큰 (죄송합니다 나는 이전 답변)을 알고 OLE 문서에 수동으로 사용자 정의 속성을 추가하고 나서 그것을 제거하면 동일한 MD5 체크섬을 얻지 못할 것입니다 ... 물론 나는 그것을 묻지 않습니다. 티. 속성이 성공적으로 제거되고 파일이 똑같은 속성을 현명하게 (마지막으로 수정 된 경우 제외) 보이며 바이트 단위의 파일 크기가 동일합니다. MD5 체크섬에 영향을 미치는 파일에 저장되어 있기 때문에 최종 수정 날짜가 궁금합니다. –

관련 문제