파일 다이제스트 확인
-
19-09-2019 - |
문제
'n'개의 파일이 있고 각 파일에 대해 CRC32, MD5 및 SHA1 다이제스트가 있다고 가정해 보겠습니다.
이제 이러한 'n'개 파일은 실제로 단일 대형 파일의 분할 파일/아카이브입니다.
이러한 작은 파일이 큰 파일로 재결합/결합되면 이 큰 파일의 다이제스트도 계산할 수 있습니다.
내 질문은 다음과 같습니다이러한 작은 파일의 다이제스트 조합이 큰 파일의 다이제스트와 동일한지 확인할 수 있는 방법이 있습니까?
예를 들어 다이제스트가 0xDE, 0xAD, 0xBE, 0xEF인 4개 부분으로 분할된 파일이 있다고 가정해 보겠습니다.
가입 후 더 큰 파일에 다이제스트 0xC0이 있다고 가정해 보겠습니다.
Join(0xDE, 0xAD, 0xBE, 0xEF) == 0xC0인지 확인할 수 있는 방법이 있습니까? 여기서 'join'은 내가 찾고 있는 마법의 연산/공식/알고리즘입니다.
해결책
그렇게 생각하지 마세요, 미안해요
이것이 가능하다면 MD5를 크랙하는 것이 오히려 더 쉬울 것입니다.
편집하다.그렇다면 부품의 MD5에서 합계의 MD5를 계산할 수 있습니까?
그러나 부품이 올바른지 확인하고 싶다면 언제든지 각 개별 부품의 MD5를 계산한 다음 해당 MD5 세트의 MD5를 계산할 수 있습니다.
분명히 이를 확인하려면 동일한 시퀀스를 수행해야 하므로 전체 파일만 가진 사람은 동일한 검사를 수행하기 위해 파일을 분할해야 합니다.
다른 팁
파일에 결합하지 않으면 변형 블록 메소드를 사용하여 파일을 하나씩 해시 알고리즘으로 전달할 수 있습니다. 결과를 제공하는 transformFinalBlock을 호출하면됩니다.