У вас есть много вариантов хэширования, которые вы можете использовать.
Что Лассе В. Карлсен прокомментировал, что если у вас есть имя файла string.GetHashCode () будет достаточно в большинстве случаев.
Если вы действительно хэшируете содержимое файлов, ваш выбор варьируется от CRC32, MD5, SH1, SH256-infinte.
Если вы хэшируете файлы, я бы предположил, что MD5 / SHA1 будет достаточно хорошим. Если бы я был там, я бы создал тестовый пример (возможно, с виртуальной машиной), который работает на самом низком оборудовании, которое должно поддерживать ваше приложение, и попробуйте MD5 / SHA1. Посмотрите, подходит ли вам эта скорость, и проверьте, нет ли хеширующего столкновения (так что в вашем тестовом случае должно быть столько изображений, сколько возможно).
Нашел хорошую статью здесь со многими функциями хеширования