В настоящее время я работаю над настольным приложением, которое вызывает сторонний API. После авторизации их «веб-службы» возвращается своего рода токен пользователя, который должен храниться локально (даже если пользователь закрывает приложение).
Поэтому я ищу решение для шифрования этого токена с помощью пользовательского ключа. Предоставляет ли Windows (и .NET) какой-нибудь стандартный способ сделать это? Все, что мне нужно, это защитить токен от других пользователей того же компьютера.
P.S. Я не могу хранить хеш, так как мне нужно расшифровать этот токен при запуске.





Да, в .NET есть ряд встроенных функций для шифрования, все зависит от того, как именно вы хотите это сделать.
Вот хорошая начальная статья, который показывает вам некоторые из основных элементов, классов и методов шифрования в .NET.
ПРИМЕЧАНИЕ: все необходимые классы находятся в пространстве имен System.Security.Cryptography.
во время выполнения вы можете сохранить ключ аутентификации в SecureString ... чтобы сохранить его между сеансами, вы можете использовать один из API симметричное шифрование в платформе .NET.
Да уж. Windows предоставляет это. Ознакомьтесь с DPAPI, к которому может получить доступ класс System.Security.Cryptography.ProtectedData .NET Framework (доступный с версии 2.0) для безопасного хранения конфиденциальной информации.