정렬이 필요한 파일이 많이 있습니다. 슬프게도 이름은 같지만 내용이 다른 많은 파일이 있으며 파일 이름이 다른 동일한 내용이 있습니다.
md5sum
파일에 대한 체크섬을 생성 하는 데 사용 하려고 생각하고 있지만 알아야합니다. 두 개의 다른 파일 (예 : 다른 내용)이 동일한 체크섬을 생성 할 수 있습니까?
그렇다면 얼마나 일어날 가능성이 있습니까?
두 개의 서로 다른 파일이 하나의 체크섬 프로그램 중 하나에 대해 동일한 체크섬을 생성 할 수 있다는 가정하에 두 개의 서로 관련이없는 (즉, 동일한 “패밀리”가 아닌) 체크섬 프로그램을 사용하여 두 개의 체크섬을 생성 할 수 있습니까? 한 번에 두 번 모두 일어날 수 없을까요?
답변
내용은 같지만 파일 이름이 다른 두 파일 : ( file1 및 file2 ) :
cat file1
this is a simple file
cat file2
this is a simple file
md5sum file1
7de45bf879db49de7e2eacea23e6c165 file1
md5sum file2
7de45bf879db49de7e2eacea23e6c165 file2
내용은 다르지만 파일 이름은 동일한 두 파일 : ( file1 및 file1 )
cat file1
this is a simple file
cat file1
this is a simple file with extra contents
md5sum file1 #first file1
7de45bf879db49de7e2eacea23e6c165 file1
md5sum file1 #second file1
c7c8f3fd9ddd7a926c31416a69063e4e file1
로부터 위키 항목,
그러나 실제 세계에서 동일하지 않은 두 파일이 동일한 해시를 갖도록 특별히 작성되지 않은 한 동일한 MD5 해시를 가질 가능성은 거의 없습니다.
그러나 MD5 알고리즘에는 자체 결함이 있습니다.
그러나 이제 MD5 충돌을 쉽게 생성 할 수 있으므로 파일을 만든 사람이 동일한 체크섬으로 두 번째 파일을 만들 수 있으므로이 기술은 일부 형태의 악의적 인 변조를 방지 할 수 없습니다. 또한 체크섬을 신뢰할 수없는 경우 (예 : 다운로드 한 파일과 동일한 채널을 통해 얻은 경우) MD5는 오류 검사 기능 만 제공 할 수 있습니다. 큰 파일을 다운로드 할 때 더 가능성이 높아집니다.
sha1 알고리즘을 사용할 때는 충돌을 일으키는 것이 쉽지 않기 때문에 체크섬 계산에 sha1을 사용하는 것이 좋습니다 . 여기에서 볼 수 있듯이 sha1 체크섬 생성은 매우 쉽습니다 .