У меня есть приложение ASP.Net C #, которому необходимо подключиться к внешний API через WebServices каждые 5 минут.
Требования к внешнему веб-сервису следующие:
Я построил все предыдущие, но в настоящее время у меня есть одна проблема. Как лучше всего хранить текущий и исторический пароли?
Очевидно, что сохранение пароля в виде открытого текста - плохое решение. Мне нужно, чтобы мой веб-сервис считывал пароль и передавал его с каждым запросом. Мне также нужно иметь доступ ко всем историческим паролям, чтобы убедиться, что мой вновь сгенерированный пароль не является дубликатом.
В идеале я хотел бы хранить каждый (зашифрованный) пароль в своей базе данных и расшифровывать его всякий раз, когда мне нужно для вызова веб-службы. Есть ли лучшая практика, которой я должен следовать? Следует ли мне шифровать каждый пароль с помощью Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.Cryptographer.EncryptSymmetric (..)?
Примечание. К сожалению, у меня нет доступа для изменения способа работы внешнего API. Я должен следовать установленным правилам.