Какой хеш лучше использовать?

Axel

Client
Регистрация
20.03.2017
Сообщения
104
Благодарностей
3
Баллы
18
Задача вычислить дубликаты среди 12-ти винчестверов с файлами, около 50 миллионов файлов формата MS Office, pdf и txt.

Ни одна программа поиска дублей с таким не справится, вот задумался, можно ли сначала создать БД таблицу всех хешей файлов, и поштучно в спокойном режиме проектом в Зеннопостер поудалять дубли, сравнивая хеши запросами к таблице БД (поправьте если идея неправильная).

Вопрос возник, каким стандартом хеширования воспользоваться? И есть ли решение для готового сниппета в С# :ah:
 

nole

Client
Регистрация
19.11.2010
Сообщения
368
Благодарностей
214
Баллы
43
Ни одна программа поиска дублей с таким не справится,
откуда такая уверенность? уверен есть куча спецсофта, который справится с задачей без проблем, и выполнят это уж точно быстрее, чем твой придуманный алгоритм
 

Axel

Client
Регистрация
20.03.2017
Сообщения
104
Благодарностей
3
Баллы
18
Например?

Duplicate Finder посчитает такой объем где-то через 3-5 жизней. Чем же считать? Время важный фактор.
 

Axel

Client
Регистрация
20.03.2017
Сообщения
104
Благодарностей
3
Баллы
18
Мда, похоже задача не из популярных :-) Софт таки не найден, кстати. Из доступных программ ни одна не захватывает больше 500 000 файлов за проход. Не тот случай.

Тогда можно теоретически - сравнивать такой объем файлов путем хранения данных всех хешей - возможно? Все-таки в таблице БД, и не сами файлы а их хеш. Задача усложняется тем что регулярно дополняются новые файлы, которые надо сравнивать со старыми.
 
Регистрация
10.01.2019
Сообщения
32
Благодарностей
11
Баллы
8
Плюсую вопрос. Очень нужен такой софт-шаблон.
А в идеале еще сравнивать файлы на "похожесть" - разбиваем файл на строки, получаем MD5 каждой строки если в файлах, допустим, 75% строк-хешей совпадают - считаем дублями и удаляем меньший по обьему.
Последнее сам пытался реализовать, но это на столько большой массив данных, что у меня все заглохло после сравнения нескольких десятков файлов
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)