Безопасное хранение токена авторизации с использованием .NET

В настоящее время я работаю над настольным приложением, которое вызывает сторонний API. После авторизации для их «веб-службы» возвращается своего рода токен, который должен храниться локально (даже если пользователь закрывает приложение).

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

PS Я не могу хранить хэш, так как мне нужно расшифровать этот токен при запуске.

15.12.2008 18:41:18
3 ОТВЕТА
РЕШЕНИЕ

Да. Windows действительно обеспечивает это. Проверьте DPAPI, к которому может обращаться System.Security.Cryptography.ProtectedDataкласс .NET Framework (доступен начиная с версии 2.0) для безопасного хранения конфиденциальной информации.

6
16.12.2008 15:28:35

Да, есть ряд встроенных функций для шифрования в .NET, все зависит от того, как именно вы хотите это сделать.

Вот хорошая начальная статья , которая показывает вам некоторые основные элементы, классы и методы шифрования в .NET

ПРИМЕЧАНИЕ. Все необходимые классы находятся в пространстве имен System.Security.Cryptography.

2
15.12.2008 18:45:18

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

0
15.12.2008 18:46:45