Вопрос

мне нужно реализовать опцию «Запомнить пароль» в моей программе, она работает с протоколами клиент-сервер, которые ТРЕБУЮТ передачи всего пароля в процессе входа в систему, а не только хешей, поэтому мне нужно хранить весь пароль локально.Я искал повсюду, но не нашел убедительного ответа или вообще не нашел ответа.Но поскольку это делают почтовые клиенты, интернет-браузеры, IM-клиенты, это не должно быть невозможным...

Итак, какой метод лучше всего?

Спасибо

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

Решение

1) Просто не делай этого.Независимо от того, насколько хороша ваша безопасность нет хранение пароли все равно лучше.

2) Если вы иметь сделать это, рассмотреть возможность безопасного хранения данных Windows

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

Я бы использовал CredentialsUI. Есть статья на MSDN объясняя, как использовать его в .NET.

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

Я создал класс-оболочку C#, который упрощает использование управляемых приложений.

Вот связанный вопрос.Windows-эквивалент OS X Keychain?

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

.NET предоставляет так называемую функцию «изолированного хранилища», где вы можете хранить такие данные.В эта статья MSDN также приведены ссылки на то, как изолированное хранилище может быть зашифровано для защиты хранящихся данных.

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