Как эффективно идентифицировать бинарный файл

Какой самый эффективный способ определить двоичный файл? Я хотел бы извлечь какую-то подпись из двоичного файла и использовать ее для сравнения с другими.

Подход грубой силы должен был бы использовать весь файл как подпись, что заняло бы слишком много времени и слишком много памяти. Я ищу более разумный подход к этой проблеме, и я готов пожертвовать небольшой точностью (но не слишком много) для производительности.

(хотя предпочтительны примеры кода Java, приветствуются независимые от языка ответы)

редактироватьНедостаток: сканирование всего файла с целью создания хэша состоит в том, что чем больше размер файла, тем больше времени он занимает. Так как хэш не был бы уникальным в любом случае, мне было интересно, есть ли более эффективный подход (то есть: хэш из равномерно распределенной выборки байтов).

Ответы на вопрос(4)

Ваш ответ на вопрос