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

Re^2: Посоветовать хэш

От Yurij Djatlov (2:6055/7.1) к Alexander Gusak

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


Привет, Alexander !

21 Авг 09 13:20, Alexander Gusak пишет Alex Aka Parasite :

EG>>> Hе бывает хешей без коллизий.
AAP>> Требуется свести вероятность коллизии к самому минимальному
AAP>> минимуму (например, одна *обнаруженная* коллизия на пару разных
AAP>> по сути файлов из числа сотни миллионов произвольно выбранных
AAP>> оных грозит весьма кошерными люлями (вплоть до срока в местах)
AAP>> лично реализатору, и отказом заказчика
AG> Уже правильно сказали. Возможны два варианта. Либо вероятность
AG> коллизии равна нулю, именно нулю. Hо тогда это не хэш, здесь нужно
AG> другое. Либо вероятность может быть сколь угодно минимальной, но тогда
AG> нет _никакой_ гарантии, что коллизия не произойдет на первых же двух
AG> строках. При таких последствиях мне на вашем месте не хотелось бы
AG> заниматься ее высчитыванием и успокаиваться одним только матожиданием.
+1
Вообще, возникает ощущение, что задача неверно поставлена изначально, или я чего-то недопонимаю. Для каких целей этот хэш там нужен-то?
Я бы сказал, что для исключения коллизий следует использовать не "хэш+длинафайла", как вначале предполагалось, а "хэш+порядковыйномер". Причём хэш можно и не использовать. Поле "Hомер по порядку" с автоинкрементом коллизии исключит с гарантией. Если нужно файлы проверять на побитость-подменённость - можно в базу для этого хэши писать. А различать их лучше не по хэшам. Разве что при добавлении проверять и лишний раз уточнять - а не то же ли это самое, что уже есть под номером ХХХХ?

С уважением. Yurij Djatlov.
--- djatlov@mail.ru - авось дойдет
* Origin: г.Волжский Волгоградской области (2:6055/7.1)

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

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

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

FGHI-url этого письма: area://RU.NETWORKS?msgid=2:6055/7.1+4a8eea59