Вопрос

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

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

Но я тут подумал, и такого рода приложения приводят к проблеме целостности и аутентичности файлов.Если пользователь изменяет файл, приложению не разрешается использовать эту информацию.И если один файл не из хорошо известного источника, приложение не сможет использовать этот файл.

Как мне это сделать?

P.S.:Я использую C#.NET

Это было полезно?

Решение

Аутентификация и целостность обеспечиваются цифровыми подписями.

Следуйте советам driis, если вы контролируете формат файла.

В качестве альтернативы, если файл является XML, используйте XML - Подпись.

Использование C #/.NET:

Другие советы

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

Это зависит от того, насколько сильной вы хотите получить эту защиту.

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

Вы даже можете сделать еще один шаг вперед и использовать цифровые подписи, но это намного сложнее.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top