체크섬은 얼마나 독특합니까? 내용이 다른 많은 파일이 있으며

정렬이 필요한 파일이 많이 있습니다. 슬프게도 이름은 같지만 내용이 다른 많은 파일이 있으며 파일 이름이 다른 동일한 내용이 있습니다.

md5sum파일에 대한 체크섬을 생성 하는 데 사용 하려고 생각하고 있지만 알아야합니다. 두 개의 다른 파일 (예 : 다른 내용)이 동일한 체크섬을 생성 할 수 있습니까?

그렇다면 얼마나 일어날 가능성이 있습니까?

두 개의 서로 다른 파일이 하나의 체크섬 프로그램 중 하나에 대해 동일한 체크섬을 생성 할 수 있다는 가정하에 두 개의 서로 관련이없는 (즉, 동일한 “패밀리”가 아닌) 체크섬 프로그램을 사용하여 두 개의 체크섬을 생성 할 수 있습니까? 한 번에 두 번 모두 일어날 수 없을까요?



답변

내용은 같지만 파일 이름이 다른 두 파일 : ( file1file2 ) :

cat file1
this is a simple file

cat file2
this is a simple file

md5sum file1
7de45bf879db49de7e2eacea23e6c165  file1
md5sum file2
7de45bf879db49de7e2eacea23e6c165  file2

내용은 다르지만 파일 이름은 동일한 두 파일 : ( file1file1 )

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 체크섬 생성은 매우 쉽습니다 .


답변