Двоичное хеширование изображения — Какую часть массива байтов использовать?

#c# #image #hash #bytearray #sha1

#c# #изображение #хэш #массивы #sha1

Вопрос:

Я хотел бы хэшировать изображения, которые были преобразованы в массивы байтов. Чем быстрее процесс, тем лучше, поэтому мне было интересно, какую часть массива байт из 300000 элементов мне действительно нужно передать в хэш-функцию (в данном случае sha1), чтобы получить уникальную хэш-строку? Кто-нибудь знает, является ли в двоичных файлах изображений первый x-фрагмент полностью метаданными? Есть ли магический индекс, который я могу использовать вместо полной длины массива байтов? Например. только хэш первого [5000].

Ответ №1:

Мое мнение таково, что это вопрос вероятности наличия уникального хэша для каждого изображения. Если вы используете только первые 5000 байт изображения размером 300000 байт, то два изображения, отличающиеся только своей нижней частью, вероятно, будут иметь одинаковый хэш. Это не обязательно вопрос sha1.

Вы также могли бы равномерно распределить свои 5000 байт по 300000 байтам.