Я работал над приложением WinForms в VB.NET (3.5), которое требует от пользователя ввода учетных данных администратора домена. Чтобы упростить задачу для пользователя, им нужно будет ввести имя пользователя и пароль только один раз, а затем просто положиться на мое приложение, чтобы сохранить эти учетные данные. Я хотел бы сохранить эти учетные данные с другими пользовательскими настройками, но по соображениям безопасности пароль должен быть зашифрован.
Какой простой способ зашифровать и расшифровать этот пароль? Я хочу, чтобы метод шифрования был совместим с FIPS. Методы, которые я пробовал до сих пор, приводят к этому исключению:
System.InvalidOperationException: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.





Посмотрите на API защиты данных (DPAPI), который совместим с FIPS (насколько я могу судить; вы можете просмотреть оценку здесь).
DPAPI предоставляется в .NET 2.0 и более поздних версиях с помощью класса System.Security.Cryptography.ProtectedData. В качестве ключа шифрования используются текущие учетные данные пользователя. Смотрите мой более полный ответ здесь.