о контрольной сумме MD5 для загрузки больших файлов Http - PullRequest
7 голосов
/ 04 января 2011

Контрольная сумма MD5 широко используется для проверки целостности Http-загрузки больших файлов. Мой вопрос заключается в том, что сам TCP предоставляет надежный механизм (т. Е. Контрольную сумму для каждого пакета TCP для обеспечения его целостности). Короче говоря, TCP надежен. Http основан на TCP (так что Http также должен быть надежным), так зачем нам нужен другой механизм проверки целостности (то есть контрольная сумма MD5)?

спасибо заранее, George

Ответы [ 4 ]

11 голосов
/ 04 января 2011

Чаще всего вы используете хэш-сумму для внешней проверки (напечатанной, например, на веб-сайте) проверки целостности загрузки, а не программной.

Это предотвращает манипулирование артефактом загрузки.

5 голосов
/ 26 января 2011

Более 3 раз в жизни я загружал сломанный ISO или EXE, и когда я загружал его снова, он работал.Это доказывает мне, что механизма TCP недостаточно для обеспечения целостности.

4 голосов
/ 04 января 2011

Ответ прост.Исходный файл может быть поврежден еще до того, как вы начнете загрузку.TCP только проверяет, что загружаемый файл совпадает с исходным.MD5 гарантирует, что вы можете знать, если он поврежден, является ли причиной проблемы передача или исходный файл.

1 голос
/ 12 ноября 2017

Когда дело доходит до 35G корпуса TED-LIUM или даже более крупных 400G крошечных изображений, каждый раз в загруженном файле возникает ошибка.Для корпуса 35G TED-LIUM я выполнял загрузку не менее 20 раз и полностью 700G передачи по сети в течение нескольких месяцев.CRC - это просто кошмар.

...