Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Контрольная сумма файла [D6]


Sim0n ©   (2002-08-09 04:18:00) 

Подскажите уважаемые, каким образом можно снять контрольную сумму с файла...
Спасибо!


Anatoly Podgoretsky   (2002-08-10 19:33:00) [1]

Точнее гарантировано на 5 байтной последовательности, после прохождения первых 4 миллиардов коибинаций (а это укладывается в 32 бита) наступает повторение.


Anatoly Podgoretsky   (2002-08-10 19:29:00) [2]

Leran2002 © (09.08.02 09:33)
Может получишь, а может получишь рантайм еррор, если не обратишь внимания, а для этого надо использовать соответствующие директивы

Desdechado © (10.08.02 19:13)
Более чем реально, начиная примерно со второго байта для счетчика типа байт и с 16 иб для Integer
А вероятность совпаделия прямо связана с размерностью счетчика, даже для crc32 она наступает после определенной длины например гарантировано после четвертго гигабайта


Desdechado   (2002-08-10 19:13:00) [3]

файлы бывают разные, счетчики тоже. поэтому переполнение реально. маловероятно, но возможно, что для 2 файлов эти суммы совпадут. вероятность тем больше, чем меньше размер счетчика


Leran2002   (2002-08-09 09:33:00) [4]


> Обрати внимание на проблему переполнения счетчика

А какая разница ведь здесь главное получить какое либо число, а суммированием мы так и так его получим...


Anatoly Podgoretsky   (2002-08-09 09:19:00) [5]

Главное тут слово СУММА, а это как бы делается путем сумирования всех составляющих в цикле
for i := 1 to Size do Sum := Sum + X[I];
Обрати внимание на проблему переполнения счетчика


wicked   (2002-08-09 09:15:00) [6]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо