Цитата(SKVOZNJAK @ 29.12.2009 1:03)
Обычная практика в дистрибутивах линукса. На фтп с образами выкладывается и контрольная сумма.
Вообще-то эта сумма служит для проверки целостности образа, скачанного по сети (на предмет ошибок, возникших при передаче), но никак не для проверки самого диска.
Компакт диск, кстати, имеет весьма сложную структуру, в которой биты одного байта оказываются разбросанными примерно по десятку Мбайт. Потом, в процессе чтения, эти биты собирают в сектора длиной более 3 Кбайт, после этого производится первый этап коррекции ошибок (CDDA), в результате чего объем сектора уменьшается примерно до 2.8 Кбайт. Затем - второй этап коррекции, после которого сектор становится 2048 байт. Если его удалось достоверно восстановить именно в таком объеме, "железо" выдает сигнал о считанном секторе, если нет - об ошибке. Дополнительная контрольная сумма никак не может увеличить степень достоверности информации, считанной с самого CD.
Что же касается проверки диска, то достаточно считать его посекторно от начала до конца. Правда, у CD нет стандартного размера, поэтому количество секторов, которые нужно будет считать, следует брать из заголовка, а заголовок, в свою очередь, отсутствует на незакрытых дисках. Ну и кроме того, некоторые способы защиты CD от копирования основаны именно на нечитаемости определенных секторов. В общем, есть ряд тонкостей, которые нужно предусмотреть, если говорить о более или менее универсальной программе. Если же цель - проверка исключительно незащищенных штампованных или закрытых записанных болванок, то программа может быть достаточно простой. Правда, не исключено, что требующей прав администратора для работы.