У меня есть сервер, на котором размещен веб-сайт в интранете, где одной из функций будет возможность загружать файлы. Файлы будут сохранены в папке с ограниченным доступом и управляться через веб-сервер. Чтобы избежать конфликтов имен, я планирую назначать UUID и сохранять исходное имя файла вместе с UUID в базе данных для будущего поиска.
Однако у меня есть 2 проблемы:
Я думал, что если я запустил какой-то тип хеша / контрольной суммы (MD5, SHA256 и т. Д.), Это могло бы решить обе проблемы. Я мог бы сохранить хеш и сравнить файл в будущем и убедиться, что он не был поврежден, и если бы я нашел другой файл с таким же хешем, я бы знал, является ли файл подлинным дубликатом.
Итак, мои вопросы:
1) повреждение файлов не является обычным явлением, и базовая система должна предотвращать и предупреждать о таких вещах, но да, это хорошо, чтобы дважды проверить. А еще лучше бэкап офф сайта http://en.wikipedia.org/wiki/Comparison_of_backup_software
2) если вы в любом случае используете хеши, нет необходимости в других стратегиях, но да, там думает, как обнаружение перемещения rsync, которое будет сравнивать все файлы по размеру, что приятно и быстро, тогда любой из того же размера будет хеширован, если еще не был и проверен на уникальность. В зависимости от содержимого файла есть другие варианты, такие как git для текста или качество звука для мультимедиа.