2011-05-10 3 views
0

내 파일 시스템 (ext4)이 신경 쓰지 않고 btrfs가 아직 신뢰할 만하지 않기 때문에 조용한 손상/비트 썩음을 알기 위해 파일 모음에 대한 체크섬을 유지하려고합니다.CRC-32 (c) 큰 파일은 괜찮습니까? (최대 100 MB)

파일 크기는 각각 최대 약 100MB이지만 대개 2 - 10MB입니다. 이 용도로 CRC-32 (c)는 괜찮습니까? 어느 것이 더 안전합니까? (어쩌면 모두 함께의 CRC를 폐기하고 대신 MD4를 사용합니까?) 용지 "인터넷 애플리케이션을위한 32 비트 순환 중복 코드"CRC-32C를 도입 128 킬로바이트까지 메시지를 고려 :

http://www.ece.cmu.edu/~koopman/networks/dsn02/dsn02_koopman.pdf

내가 좋겠 작은 블록에서 파일을 깨뜨리고 파일을 해싱하는 것을 피하는 것이 좋습니다.

답변

2

당신이 "더 안전하다"는 의미와 편집증에 따라 다릅니다.

비슷한 일을하고 싶다면 md5 또는 sha512를 선택하십시오.

다행히 이미 tripwire처럼 이렇게하는 응용 프로그램이 있습니다.

+1

+1. 그러나 MD5를 사용하지 마십시오. 충돌 기반 공격에 취약합니다. MD5는 더 이상 사용해서는 안됩니다. – Heisenbug

+0

트립 와이어를 사용하면 체크섬을 xattr에 저장하고 cron 작업으로 디스크를 한 번만 확인하는 방법에 대해 생각하고 있습니다. – pauliq

+0

체크섬에 대한 악의적 인 간섭을 막으려 고하지 않습니다. – pauliq

4

CRC-32 또는 32c가 좋을 것입니다. 상당히 더 비싸지 않고 (특히 64 비트 플랫폼에서) 더 나은 방어를 위해서는 64 비트 CRC (CRC-64)를 사용합니다. 위키 피 디아 페이지 또는 인터넷 검색에서 찾을 수 있습니다. 악의가 아닌 부패가 염려되는 경우 MD5 및 SHA512는 CRC보다 좋지 않으며 계산 속도가 훨씬 느립니다.

관련 문제