У меня есть сервер, полный книг.Каждая книга состоит из нескольких активов.Но некоторые ресурсы используются для нескольких книг.
book1
| - pic1.png
| - pic2.png
| - pic3.png
book2
| - pic1.png (дубликат)
| - pic4.png
| - pic5.png
Нет гарантии, что они будут одинаковыми.Значение pic1.png, возможно, было переименовано во что-то другое, но это тот же файл, что и раньше.
Что я хочу сделать, чтобы сократить нагрузку на сервер, это переместить все файлы в каталог общих ресурсов.Но я хочу быть абсолютно уверенным, что каждое уникальное изображение сохраняется.
Мое хакерское решение грубой силы - запустить md5 для каждого файла.Коллизия хеша составляет 2 ^ 128, поэтому шансы двух разных файлов, генерирующих один и тот же хеш, крайне низкиОднако я буду повторять этот процесс для всех ресурсов на сервере (более 100 000).Я немного не в себе, но я знаю, что это меняет шансы (парадокс дня рождения?)
Мои вопросы ...
- Сколько может MD5Я создаю без увеличения вероятности коллизии хеша до допустимых уровней?
- Есть ли другой недорогой алгоритм хеширования целостности файлов, который я должен использовать вместо этого?
- Собираюсь ли я сделать это полностьюНеправильный путь?
Заранее спасибо.