Я создаю сайт, где пользователи могут загружать контент.Как всегда, я стремлюсь к мировому господству, поэтому я бы хотел не хранить один и тот же файл дважды.Например, если пользователь пытается загрузить один и тот же файл два раза (переименовывая или просто забывая о том, что он делал в прошлом).
Мой текущий подход заключается в том, чтобы иметь базу данных, которая отслеживает каждое загруженное хранилище файлов.следующая информация о каждом файле:
- размер файла в байтах
- MD5 сумма содержимого файла
- SHA1 сумма содержимого файла
И затем уникальный индекс для этих трех столбцов.Использование двух хешей для минимизации риска ложных срабатываний.
Итак, мой вопрос на самом деле: какова вероятность того, что два разных ("реальных") файла одинакового размера будут иметь одинаковые хэши MD5 и SHA1?
Или: Есть ли более умный метод аналогичной (не) сложности?
(я понимаю, что вероятность может зависеть от размера файла).
Спасибо!