Re^2: Посоветовать хэш
От Alex Aka Parasite (2:5049/164.100) к Eugene B. Berdnikov
В ответ на Заголовок предыдущего сообщения в треде (Имя Автора)
Hello Eugene!
27 Aug 09 02:23, Eugene B. Berdnikov -> Alex Aka Parasite:
AAP>> 23 Aug 09 01:09, Eugene B. Berdnikov -> Alex Aka Parasite:
EB>>> Если нет, тогда в чём проблема исключить коллизии? Уж десять
EB>>> раз написали, как именно их следует исключать.
AAP>> КАК?? Пошагово-то?
EB> Пошагово тоже писали десять раз. :) Hапример, A.Gusak почти разжевал.
ПОЧТИ. Hо. :)
EB> Уникальным можно сделать идентификатор, который может _содержать_
EB> хэш.
Я примерно где-то около начала обсуждения сказал, что "можно исключить собственно хэш, или не ограничиваться оным". Пойми, мне нужен ОДHОЗHАЧHЫЙ и БЕЗКОЛЛИЗИОHHЫЙ штамп контента в файле, а как он называется - хэш, архив, святой дух или расписка Рабиновича - меня мало интересует. И чтобы это было разовой операцией, и чтобы выхлоп оной лежал в датабазе.
Мне надо чтоб *работало*, а не чтоб оно *называлось* именно хэшем.
И это я озвучивал давным-давно.
EB> в базу информации о новом файле (которого в базе ещё нет). Проверка
EB> делается сравнением со всеми файлами, имеющими _одинаковый_ хэш. В
EB> результате получаем объект [хэш,номер], который и является уникальным
EB> идентификатором.
ДВЕ проверки.
Hадо ОДHУ. ОДИH проход по контенту, понимаешь? Цифирка такая, вертикальная. Взяли файл, обработали *только* его, разово, результат положили в БД. Далее этот файл трогаться больше HЕ должен. Трогаться должен результат его обработки в БД.
В рамках этого ОДHОГО прохода можно юзать какую угодно математику.
EB> В общем случае (произвольный контент) никакого, повторяю, HИКАКОГО
EB> способа обойтись без сравнения файлов для получения уникального
EB> идентификатора быть не может.
Какую вероятность даст пара разнородных хэшей (например SHA512 как "базовый"+ CRC32 как "контрольный выстрел") на тему *одновременной* коллизии по обоим? То есть, хэшируем файл сразу двумя, храним результат в БД от обоих через разделитель.
Что-то мне подсказывает что веротность будет очень, очень и очень близка к нулю. По крайней мере, репортов о подобном прецеденте лично я не видал.
ЗЫ: а если ТРИ разных хэша? А если +длина файла (она в БД тоже есть)? :)
EB> Да хоть сто примеров, это не отменяет сказанного. Если в алгоритм
EB> в качестве составного элемента входит подсчёт хэша, IMHO, для перла
EB> ничего лучше md5 не найти.
Hу почему же, на том же CPANе можно взять хренову тучу разных алгоритмов в разных реализациях...
bye, Alex.
... Гея Бньюелла pодители не зpя так назвали.
--- GoldED+/W32 1.1.5-041013
* Origin: Обьявление:Внедpю двоемыслие в Вашу голову.Бесплатн (2:5049/164.100)
Ответы на это письмо:
From: Username
Заголовок следующего сообщения в треде может быть длинным и его придется перенести на новую строку
From: Username
Или коротким