하나는 성공적으로 다운로드한 파일이고 다른 하나는 다운로드에 실패했는데(대형 파일의 처음 100MB만) 동일한 파일인 것으로 의심됩니다.
이를 확인하기 위해 해시를 확인하고 싶지만 다운로드에 실패한 파일의 일부만 가지고 있으므로 처음 몇 메가바이트 정도만 해시하고 싶습니다.
어떻게 해야 하나요?
OS는 Windows이지만 cygwin과 MinGW가 설치되어 있습니다.
답변1
파일을 비교하기 위해 해시를 생성하는 것은 하나의 파일을 여러 파일과 비교하거나 여러 파일을 서로 비교할 때 의미가 있습니다.
두 파일을 한 번만 비교할 때는 의미가 없습니다. 해시를 계산하는 노력은 적어도 파일을 살펴보고 직접 비교하는 것만큼 높습니다.
효율적인 파일 비교 도구는 다음과 같습니다 cmp
.
cmp --bytes $((100 * 1024 * 1024)) file1 file2 && echo "File fragments are identical"
dd
두 파일의 임의 부분(반드시 처음부터는 아님)을 비교하기 위해 이를 결합할 수도 있습니다 . 예:
cmp \
<(dd if=file1 bs=100M count=1 skip=1 2>/dev/null) \
<(dd if=file2 bs=100M count=1 skip=1 2>/dev/null) \
&& echo "File fragments are identical"
답변2
정확히 시도해 볼 수는 없어서 죄송합니다. 하지만 이 방법은 효과가 있을 것입니다
dd if=yourfile.zip of=first100mb1.dat bs=100M count=1
dd if=yourotherfile.zip of=first100mb2.dat bs=100M count=1
이렇게 하면 두 파일의 처음 100MB를 얻을 수 있습니다.
이제 해시를 얻으세요:
sha256sum first100mb1.dat && sha256sum first100mb2.dat
직접 실행할 수도 있습니다.
dd if=yourfile.zip bs=100M count=1 | sha256sum
dd if=yourotherfile.zip bs=100M count=1 | sha256sum
답변3
모두가 Unix/Linux 경로를 사용하는 것처럼 보이지만 Windows 표준 명령을 사용하면 두 파일을 쉽게 비교할 수 있습니다.
FC /B file file2
FC는 지금까지 만들어진 모든 Windows NT 버전에 존재합니다. 그리고 (제 기억이 맞다면) DOS에도 있었습니다.
속도가 좀 느리기는 하지만 일회용으로 사용하기에는 문제가 되지 않습니다.
답변4
나는 그것이 Bash에 대해 말하는 것을 알고 있지만 OP에는 Windows가 있다고 명시되어 있습니다. Windows 솔루션을 원하거나 요구하는 사람을 위해 두 파일을 비교할 수 있는 Hex Editor인 HxD라는 프로그램이 있습니다. 파일 크기가 다른 경우 사용 가능한 부분이 동일한지 알려줍니다. 그리고 필요한 경우 현재 선택된 항목에 대해 체크섬을 실행할 수 있습니다. 무료이며 다음에서 다운로드할 수 있습니다.HxD 웹사이트. 나는 저자와 아무런 관련이 없으며 몇 년 동안 그것을 사용해 왔습니다.