Форум: "Базы";
Текущий архив: 2002.09.02;
Скачать: [xml.tar.bz2];
ВнизКонтрольная сумма файла Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c