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