Безопасно ли вычислять хеш для изображения, сжатого в формате без потерь, таком как PNG, GIF и т. д.?

Мне было интересно, есть ли у любого формата сжатия изображений без потерь, такого как PNG, какая-то гарантия уникальности, то есть два разных сжатых двоичных файла всегда декодируются в разные изображения.

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

(Есть несколько веских причин для вычисления хеша несжатого изображения, но они выходят за рамки моего вопроса.)


person user209974    schedule 24.09.2019    source источник


Ответы (1)


Нет, это не так для PNG. Процедура сжатия имеет много параметров (тип фильтрации, используемый для каждой строки, уровень сжатия ZLIB и настройки), поэтому одно необработанное изображение может привести к созданию множества разных PNG-файлов. Хуже того, PNG позволяет включать вспомогательные данные (фрагменты) с разной информацией (например, текстовыми комментариями).

person leonbloy    schedule 26.09.2019