2010-04-16 2 views
3

Мне нужно зашифровать XML-файл и отправить его в сеть, чтобы разместить его на частном сервере. Мое другое приложение расшифровывает и импортирует в SQL файл, предоставляя фактический открытый ключ.Предложить лучший алгоритм для шифрования XML-файла в C# .NET?

Не могли бы вы предложить мне лучший способ для этого.

Файл: XML Тип
Возможный размер: до 250 MB
Technology: C# .NET 2008

+3

Что бы вы ни делали: пожалуйста ** не пытайтесь изобрести свою собственную схему шифрования **. Существует так много специальных схем, которые предлагаются для создания System.Security. Криптографические классы («просто используйте AES, это просто ...»), которые в корне нарушены и обеспечивают просто безопасность за безвестностью (в лучшем случае!). Используйте любой стандартный механизм, который существует уже много лет и много раз анализируется. – dtb

+0

Sure James Burgess Спасибо – karthik

ответ

7

Использование XML encryption. Он поддерживается непосредственно в .NET через класс EncryptedXml.

На MSDN есть пример: How to: Encrypt XML Elements with Asymmetric Keys.

Обратите внимание, что вы должны использовать открытый ключ для шифрования и закрытый ключ для дешифрования (а не наоборот, как вы писали в вопросе).

2

Загрузить файл с помощью SSL/TLS (например, с помощью HTTPS или в Socket + SslStream), и пусть серверу требуется, чтобы клиент представил сертификат клиента X.509.

0

Я бы предложил использовать класс RijndaelManaged. This - хороший пример его использования.

Here - больше алгоритм AES.

+0

спасибо SwDevMan81, Можно ли зашифровать Xml-файл и в момент его открытия нужно просить расшифровать ключ ..? – karthik

+0

karthik - Не совсем уверен, что вы просите. Вам нужно будет поддерживать ключ каким-то образом, который использовался для шифрования файла в первую очередь. Этот же ключ понадобится для дешифрования файла. – SwDevMan81