Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.02;
Скачать: CL | DM;

Вниз

Контрольная сумма файла   Найти похожие ветки 

 
Sim0n   (2002-08-09 04:18) [0]

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


 
wicked ©   (2002-08-09 09:15) [1]

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


 
Anatoly Podgoretsky ©   (2002-08-09 09:19) [2]

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


 
Leran2002 ©   (2002-08-09 09:33) [3]


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

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


 
Desdechado ©   (2002-08-10 19:13) [4]

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


 
Anatoly Podgoretsky ©   (2002-08-10 19:29) [5]

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

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


 
Anatoly Podgoretsky ©   (2002-08-10 19:33) [6]

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



Страницы: 1 вся ветка

Текущий архив: 2002.09.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.023 c
1-3454
Man-In-Red
2002-08-20 19:11
2002.09.02
Как можно узнать?


1-3366
multik
2002-08-21 22:14
2002.09.02
сравнение значков


7-3641
svmagnum
2002-05-26 06:02
2002.09.02
Kak mne otodvinut desktop.


3-3272
kinder
2002-08-12 14:07
2002.09.02
Выпадающий список в DBGrid


7-3645
Alexander
2002-06-21 02:28
2002.09.02
Как мне применить темы Windows XP в окне, которое создано в файле