Все, что вам нужно сделать, - в этом ответе , включая использование Entity Framework вместо этого древнего, многогранного способа запуска SQL, который не способствует внедрению хороших методов проектирования ОО (разделение проблем между вашими бизнес-логиками). c слой в вашем контроллере и ваш уровень доступа к данным)
По крайней мере, взгляните на переключение на использование Dapper для доступа к данным - это сделает ваш код чище и ваша жизнь намного проще
Используйте первый связанный ответ, чтобы разработать класс, который солит и хэширует ваши пароли и хранит хэши, а не пароли в виде простого текста, и вызывайте его, чтобы гарантировать надежную защиту ваших паролей. Хранение паролей в незашифрованном виде является причиной, по которой такие службы, как HaveIBeenPwned, должны существовать; люди повторно используют пароли, и когда вы сохраняете ваши пароли в незашифрованном виде, и ваша система взломана, вы обнаружите приятный и легкий поиск имени пользователя: пароль, который можно использовать в другом месте, где взломан, и у хакера есть только имя пользователя. Частично это вина пользователей за повторное использование пароля, но в основном ваша вина за то, что они не хранят свои данные надежно. Пожалуйста, расставьте приоритеты