.NET: Лучшая практика для шифрования конфиденциальных данных в клиентском приложении? - PullRequest
1 голос
/ 17 марта 2011

Мне нужно безопасно сохранить пару пользователь / пароль в клиентском приложении .NET (надстройка Outlook).

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

На самом деле, я хотел бы получить доступ к EFS -подобному API для делегирования шифрования в Windows.

Есть какие-нибудь подсказки по этому вопросу?

1 Ответ

2 голосов
/ 17 марта 2011

Если у вас есть доступ к .Net 4.0, я бы порекомендовал класс ProtectedData, который инкапсулирует Windows DPAPI, рекомендуемый способ шифрования данных на клиентском компьютере в Windows. В противном случае вы можете P / Invoke DPAPI напрямую сделать это.

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

Но сложно знать, что вам нужно, не зная, чего вы пытаетесь достичь.

MSDN Link

...