на главнуюВсе эхи RU.CRYPT
войти ?

Re: Посоветовать алгор итм хэширования

От Vladimir N. Oleynik (2:5020/400) к Basil A.

В ответ на Заголовок предыдущего сообщения в треде (Имя Автора)


From: "Vladimir N. Oleynik" <dzo@simtreas.ru>

Здарофъ, Basil


BAS> Вычитываем CRC-32 из имеющихся пожатых бинарей и сохраняем их в базе вместе с
BAS> размером (исходных) данных.

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

BAS> Для пришедшего бинаря отбираем из таблицы кандидатов на совпадение.
BAS> С кандидатами можно поступать по разному - построить дополнительный хэш на

Размер файла - тоже хеш. Идеально плохой по распределению вероятности, но
абсолютно идеально быстрый.

BAS> приступать к сравнению новичка с кандидатами на совпадение.

Hапоминаю, что сравнение сразу же прекратится, как только первый же байт
будет разным в одинаковых по объёму файлах с коллизией хеша.
Так что лучше - дёргаться к базе при каждом обращении пользователя, или
только при коллизии к вероятнее всего одному первому блоку данных?
А БД будет тривиальная, не требующая всяких там sql.

Я таки решился этот алгоритм присобачить к своей программулинке,
посмотим, как оно будет в реально рабочем проекте. Весьма получается
просто и элегантно.


--w
vodz
--- ifmail v.2.15dev5.4
* Origin: Treasury dept. of Ulyanovsk region (2:5020/400)

Ответы на это письмо:

From: Username
Заголовок следующего сообщения в треде может быть длинным и его придется перенести на новую строку

From: Username
Или коротким

FGHI-url этого письма: area://RU.CRYPT?msgid=<1187352233@treas.simtreas.ru>+737d8557