Не совпадает контрольная сумма после скачивания с торрента

BULKA8

Скачал ISO установочного диска с Виндоуз на 690 Мб. Чек суммы (CRC, MD2, MD4, MD5) скачанного файла не совпали с указанными раздатчиком.
Однако изошник нормально записался на диске и прошла установка с него.
Что бы это значило. Все-таки перекачать или чексуммы не такой уж железный критерий. Или потом даст о себе знать?

artimon

Возможно автор указал не те чексуммы или ты (или автор) считал их в другом формате (текстовом/бинарном).

RASA-2009

Гэбня теперь может и это

BULKA8

я получил эти суммы (все) с помощью широко распространенной программы HashTab
Я думаю все это вполне стандартные действия.
Потом, не понятно что делать если в ИЗОшнике запаковано просто много программ и он тянет на 7 Гб
Что делать при не совпадении. Перекачивать или забить ...

Serab

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

BULKA8

Спасибо

katrin2201

так что лучше перекачать
Вообще торрент клиенты как правило по завершении скачивания делают еще один прогон проверки чексумм - так, чтобы наверняка. Это я к тому, что перескачка вряд ли что-то изменит.
Скорее соглашусь с , что несовпавшие чексуммы считались по-разному.

Troyn09

Вообще торрент клиенты как правило по завершении скачивания делают еще один прогон проверки чексумм - так, чтобы наверняка. Это я к тому, что перескачка вряд ли что-то изменит.
Скорее соглашусь с , что несовпавшие чексуммы считались по-разному.
ну таки нет, тот же utorrent этого по умолчанию не делает
а если чексуммы явно не совпали, то в первую очередь нужно запустить принудительную перепроверку чексуммы в торрентклиенте, а не качать заново
плюс к этому, если есть проблемы с железом, то формально живые торренты могут со временем частично побиться

artimon

Я вот впервые слышу про такую программу.
Но в документации к моей md5sum явно сказано что под DOS-ом (виндой) есть разница между текстовыми и бинарными файлами.

serega1604

>под DOS-ом (виндой) есть разница между текстовыми и бинарными файлами.
Чушь какая-то. файлы везде одинаковые, что под виндой, что под невиндой.
Может таки у тебя там написано, что один и тот же текстовый файл под DOS и unix будет разным, из-за разных разделителей конца строки? ну так я тебя обрадую: 1) ISO - не текстовый файл, и к нему это не относится 2) торрент-клиенты не делают отличий в файлах на текстовые и не-текстовые, и все передают как бинарные.

artimon

Во-первых, тема не про чексуммы торрента, а про внешние утилиты типа md5.
Во-вторых, файлы-то не отличаются, но отличается то как их интерпретирует программа. http://cygwin.com/cygwin-ug-net/using-textbinary.html
В-третьих, ISO конечно не текстовый файл, но если у автора в его суперпрограмме стоит галочка «интерпретировать всё как текст», то может случится всякое.

evgen5555

В случае с FTP/HTTP контрольная сумма нужна, чтобы проверить, не побился ли файл при транспортировке.
У торрентов есть внутренняя проверка, хэши всех кусков изначально вшиты в .torrent файл, который скачивается с трекера, и проверка целостности может только показать, побился ли файл на диске.

salamander

Может таки у тебя там написано, что один и тот же текстовый файл под DOS и unix будет разным, из-за разных разделителей конца строки?
Нет, там другое написано.
Под виндой ты один и тот же файл можешь прочитать по разному в зависимости от того, как ты его откроешь: как текстовый или как бинарный.
Казалось бы для для расчета чексум все файлы нужно считать бинарными, ан нет - для md5 придумали костыль со звездочкой.
The default mode is to print a line with checksum, a character indicating type (`*' for binary, ` ' for text), and name for each FILE.
 $ md5sum /bin/ls
59073a7dd95d63adf5bd74eec482c37d /bin/ls
$ md5sum -b /bin/ls
59073a7dd95d63adf5bd74eec482c37d */bin/ls

При проверки под виндой вторая сумма сойдется, а первая может и не сойтись, если проверяющая программа соблюдает звездочку и в файле втсречается последовательность 0 0xA.

serega1604

>При проверки под виндой вторая сумма сойдется, а первая может и не сойтись, если проверяющая программа соблюдает звездочку и в файле втсречается последовательность 0 0xA.
как ты думаешь, md5sum из (GNU coreutils) 5.97 соблюдает звездочку или нет?

salamander

Да, соблюдает.
У меня на винде, правда, какая-то баянная 5.3.0, но:
>md5sum hello.txt
78016cea74c298162366b9f86bfc3b16 *hello.txt

>md5sum -t hello.txt
746308829575e17c3331bbcb00c0898b hello.txt

heump -C hello.txt
00000000 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 0d 0a |Hello, world!..|
0000000f

На линуксе в обоих режимах (-b и -t) получается '78016cea74c298162366b9f86bfc3b16', естественно.
Предвосхищая следующие вопросы:
Нет, на *nix системах ты не сможешь найти отличий (поскольку там нет разницы между бинарными и текстовыми файлами)
Нет, ТС пользовался какой-то HashTab, а не md5sum из CoreUtils.

serega1604

ладно, будем считать, что косяк на моей стороне
bash-3.1$ md5sum.exe -b hello.txt
78016cea74c298162366b9f86bfc3b16 *hello.txt
bash-3.1$ md5sum.exe -t hello.txt
78016cea74c298162366b9f86bfc3b16 hello.txt
bash-3.1$ x.exe hello.txt
0000000: 4865 6c6c 6f2c 2077 6f72 6c64 210d 0a Hello, world!..

salamander

Нашел в cygwin-овских "Port Notes":
---------- coreutils-5.93-3 — 2006-01-24 ---------
Fix md5sum(1) and sha1sum(1) to output in binary mode, and to ignore
\r during verification.
Соответственно более свежий cygwin-овский md5sum у меня сейчас тоже не делает разницы между -b и -t. Разбираться, это специфичный для cygwin патч или его в основную ветку внесли мне лень, если честно. Благо мораль и так ясна: надо всегда писать -b во избежание возможных проблем.

Dasar

Под виндой ты один и тот же файл можешь прочитать по разному в зависимости от того, как ты его откроешь: как текстовый или как бинарный.
Формально неточное утверждение.
Более точное утверждение: используя одну из C/С++-ых библиотек при работе под windows, чтение в режимах текстовый/бинарный будет отличаться друг от друга.
Оставить комментарий
Имя или ник:
Комментарий: