Как защитить базу данных от взлома по строке подключения?
Бд изолируют как правило и работают через слой АПИ. Никакие строки подключения у клиента нигде быть не должны.Запрос из вашего приложения или браузера -> MVC контроллер -> обращение к базе из вашего кода.
Строка подключения при этом будет лежать в web.config или appsettings.json на сервере.
Такова селяви, вы можете попробовать запрятать логин и пароль в обфусицированном коде но это защитит только от пользователей но не от хакера/знающего человека, правда сделает эту задачу дорогой.
На практике, обычно так и делают, если у вас десктопное приложение и пользователи подключаются с его помощь к базе данных, можно запрашивать у них логин и пароль (т.е. строка подключения это только ip и порт БД), т.е. за авторизацию и аутентификацию будет отвечать БД.
p.s. парольная авторизация это пережиток прошлого ;) красивый пример - вы можете сделать авторизацию по qr-коду, генерируемым приложением на мобильном телефоне (а там таймкод по типу google authenticator) и снимать его через вебкамеру (подойдут даже самые дешевые, помню покупал одну за 70р, с подсветкой даже), коды авторизации выдавать пользователям при личной встрече.