2009-07-30 2 views
0

WinForms/C#Надежно связывать локальные метаданные с удаленным файлом?

Мое приложение позволяет пользователю указать 1) дополнительную информацию для 2) данного файла, оба из которых загружаются на сервер. Есть две изолированные загрузки: сначала файл и (возможно, много) позже метаданные.

Предположите, что файл всегда остается неизменным и доступен (для кода).

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

Мой план заключается в использовании MD5 хэш из следующих трех атрибутов файла:

  • содержание
  • размер
  • Дата создания

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

Какое умное решение я спускаю?

ответ

0

Вы можете использовать SHA-1 или даже лучше SHA-256 вместо MD5, так как хеши MD5 могут быть не достаточно уникальными: можно создать файл с размером и хешем MD5, соответствующим другим файлам. См., Например, MD5 vulnerability.

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

+0

Престижность упоминания других алгоритмов. Я их рассматриваю. Re: ID - у меня нет локального хранилища данных, поэтому решение, к сожалению, не подходит. – lance