Приложение, которое в настоящее время разрабатывает моя команда, имеет библиотеку DLL, которая используется для доступа ко всем базам данных. Приложение не может использовать доверенное соединение, поскольку база данных находится за брандмауэром, а сервер домена - нет. Таким образом, представляется, что строка подключения должна иметь имя пользователя и пароль БД. DLL в настоящее время имеет жестко запрограммированную строку подключения к базе данных, но я не хочу этого делать, когда мы запускаем, так как сборка может быть разобрана, а имя пользователя и пароль будут тут же открыты.
Одним из требований является то, что пароль необходимо менять раз в несколько месяцев, поэтому нам нужно будет развернуть его для нашей внутренней базы пользователей.
Есть ли способ хранения пароля в зашифрованном виде, который мы можем легко распространить среди всей базы пользователей, не сохраняя его в сборке?
ОБНОВЛЕНИЕ: Спасибо всем, кто ответил. Я попытаюсь ответить на некоторые вопросы обратно мне ... Библиотека данных используется как ASP.NET WebForms, так и VB.NET WinForms. Я понимаю, что Приложения могут иметь свои собственные файлы конфигурации, но я ничего не видел в файлах конфигурации для DLL. К сожалению, я не могу добраться до поста Джона Галлоуэя на работе, поэтому я не могу судить, сработает ли это. С точки зрения разработки, мы не хотим использовать собственные веб-сервисы, но можем предоставлять их третьим сторонам в следующем году. Я не думаю, что олицетворение будет работать, потому что мы не можем аутентифицировать пользователя через брандмауэр. Поскольку пользователь (или бывший пользователь) может быть злоумышленником, мы скрываем это от всех!