Название: Запись и чтение контрольной суммы файла Отправлено: Fregloin от Апрель 21, 2015, 18:12 Привет. Есть файл в бинарном формате. Программа умеет определять некоторые повреждения файла при чтении, но для надёжности думаю есть смысл писать контрольную сумму.
С самой контрольной суммой разобрался. Каким образом ее вычислить и куда писать. Например у меня есть заголовок файла (сигнатура, версия, кое какие атрибуты) и собственно данные (точнее различные секции с данными). Правильно ли я понимаю, что есть смысл вычислить контрольную сумму сразу после сигнатуры и записать ее после нее? Название: Re: Запись и чтение контрольной суммы файла Отправлено: Bepec от Апрель 21, 2015, 19:15 В структуру блока данных записывай :)
Заголовок + ( длина блока + КС + данные ) * N Название: Re: Запись и чтение контрольной суммы файла Отправлено: Igors от Апрель 22, 2015, 08:04 Правильно ли я понимаю, что есть смысл вычислить контрольную сумму сразу после сигнатуры и записать ее после нее? Да, контрольная сумма считается по записанному файлу. Что касается ее полезности, то она, на мой взгляд, невелика. Так или иначе надо делать теги, там и контроль сам собой. Название: Re: Запись и чтение контрольной суммы файла Отправлено: Fregloin от Апрель 22, 2015, 09:07 Верес, немного не понял Вас.. ::) КС писать для каждого блока данных?
По поводу избыточнотси - делается для того что бы со стороны никто не мог редактировать бинарные данные. Т.е. КС не правильная, програ не грузит файл и сообщает об этом. Теги в файле присутсвтуют, по сути это XML только преобразованный в свой формат (с индексацией строковых констант для уменьшения размера файла и скорости обработки). Наличие тегов и сигнатур проверяется, а вот собственно правка бинарных данных никак не может быть выявлена. Поэтому и хочется писать КС для гарантии, что юзер будет работать с правильной версией файла, которую мы поставили на объект. Лишить возможности редактирования в HEX редакторе. Название: Re: Запись и чтение контрольной суммы файла Отправлено: Igors от Апрель 22, 2015, 09:25 Лишить возможности редактирования в HEX редакторе. Ну если кто-то возымеет желание править Ваш файл - это уже успех :)Название: Re: Запись и чтение контрольной суммы файла Отправлено: Bepec от Апрель 22, 2015, 09:42 По поводу вопрос - я думал у вас блочная запись. Для каждого блока своя КС.
Сделайте как в хроме - там записывается не CRC чистый, а хеш от CRC. :D PS добавляет массу головной боли "редакторам" :D Название: Re: Запись и чтение контрольной суммы файла Отправлено: gil9red от Апрель 22, 2015, 10:12 По поводу вопрос - я думал у вас блочная запись. Для каждого блока своя КС. Сделайте как в хроме - там записывается не CRC чистый, а хеш от CRC. :D PS добавляет массу головной боли "редакторам" :D Напоминает хранение не паролей, а хешей паролей пользователей :) Если базу паролей умыкнуть, то получат |