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

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

От Alex Aka Parasite (2:5049/164.100) к Valentin Nechayev

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


Hello Valentin!
30 Aug 09 18:59, Valentin Nechayev -> Alex Aka Parasite:

AAP>> Какую вероятность даст пара разнородных хэшей (например SHA512
AAP>> как "базовый"+ CRC32 как "контрольный выстрел") на тему
AAP>> *одновременной* коллизии по обоим? То есть, хэшируем файл сразу
AAP>> двумя, храним результат в БД от обоих через разделитель. Что-то
AAP>> мне подсказывает что веротность будет очень, очень и очень близка
AAP>> к нулю. По крайней мере, репортов о подобном прецеденте лично я
AAP>> не видал.
VN> Смысла именно в CRC32 не вижу. SHA-1 + MD6-512-L64, например, даст
VN> достаточную устойчивость на K лет вперёд :)
CRC32 в виде "проверки на коллизию основного 'тяжелого' алгоритма" - основная работа в 99.9% случаев будет через проверку результата первого "тяжелого" хэша, в случае же нахождения ситуации "хэши сошлись == либо файлы идентичны, либо коллизия" - будет проверяться по второй части хранимой строки: по результату намного более "легкого" хэша (либо наоборот - основную работу делать по легкому чтобы разгрузить камень в процессе основной работы, а найденные коллизии проверять через "тяжелую артиллерию"). Если была коллизия на первом - то результаты второго не совпадут, если же файлы равны - то совпадут. Уникальности КАЖДОГО хэша в этом случае не надо - надо будет уникальности (не)совпадения одновременно обоих. Мало двух - возьмем три\пять\десять. Вероятность коллизии по нескольким одновременно видится мне весьма и весьма и весьма низкой (она и по одному-то не такая уж и частая, а чтобы оно совпало сразу на нескольких разнородных - имхо нереально в степени бесконечность, но таки минус1 на случайность). :)

В этом случае храним в БД таки ОДHУ строку, таки контент трогается ОДИH раз и далее оперируется только с БД, и таки использованы ТОЛЬКО "стандартные" алгоритмы безо всякой самодеятельности.

Либо в виде второго\пятого\десятого хэша использовать ранеепредложенное - юзать имеющиеся, уже посчитанные CRC из самих архивов...

Знатокам просьба заценить за такой финт ушами, и попинать за возможные глупости. Гугление на тему "одновременная коллизия сразу на нескольких алгоритмах" ничего вменяемого не дала, и это обнадеживает...

AAP>> ЗЫ: а если ТРИ разных хэша? А если +длина файла (она в БД тоже
AAP>> есть)? :)
VN> Раз длина есть в БД - пусть там и будет, но в хэше её дублировать
VN> незачем.
Я ее не предлагаю хранить еще раз - я предлагаю ее иметь ввиду при проверке, коль скоро она ужде есть и доступна. Если длина разная, а хэш одинаковый - тут уже все понятно и без второго\пятого\десятого хэширования...

bye, Alex.
... Снимаю сглаз, вешаю на уши...

--- GoldED+/W32 1.1.5-041013
* Origin: Обьявление:Внедpю двоемыслие в Вашу голову.Бесплатн (2:5049/164.100)

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

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

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

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