Пароль не должен отправляться в открытом виде по сети.
где вы это прочитали? Пароль нигде не должен светиться при вводе и отправке, по этому парольное поле делают со звездочками, а для отправки используют метод post а не get, чтобы пароль не светился в строке браузера. Для защиты от атак mitm используют https, хотя при верном подходе это тоже не суперзащита, ключи могут перехватить, некоторую защиту дает, но если сессия обмена ключами поймана - уже можно забить на хттпс защиту.
И также пароль не должен храниться в открытом виде на сервере.
Логично, пожалуй единственная логичная строчка в посте )
Получается, мы должны отправить не пароль, а хэш от него и соль, которым был присыпан пароль при хешировании.
Не получается, мы отправляем пароль не зная соли, в этом вся соль )) Сервер принимает пароль от пользователя (открытый), хеширует его с солью(известной только серверу), и сравнивает с хранимым в базе. Если хеши совпали - пароль угадан верно )