Подходящая хэш-функция для обнаружения повреждения данных / проверки целостности данных?

Какая хеш-функция наиболее подходит для проверки целостности файлов (контрольных сумм) с целью обнаружения повреждений?

Мне нужно учитывать следующее:

Широкий диапазон размеров файлов (от 1 КБ до 10 ГБ +)
Множество разных типов файлов
Большая коллекция файлов (+/- 100 ТБ и увеличивается)

Требуются ли файлы большего размера дайджеста большего размера (SHA-1 против SHA 512)?

Я вижу, что семейство SHA называется криптографическими хэш-функциями. Не подходят ли они для «общего» использования, например для обнаружения повреждений файлов? Будет ли что-то вроде MD5 или Tiger лучше?

Если злонамеренное вмешательство также является проблемой, изменится ли ваш ответ относительно наиболее подходящей хеш-функции?

Внешние библиотеки не подходят, только те, что доступны в Win XP SP3 +.

Естественно, производительность также вызывает беспокойство.

(Прошу прощения за мою терминологию, если она неверна, мои знания по этому вопросу очень ограничены).

11
задан Muhammad Reda 18 January 2013 в 15:30
поделиться