Если вы отправляете что-то из клиента, не имеет значения, является ли он хэшированным паролем или просто строкой.И если это контент, сгенерированный клиентом (т.е. вы генерируете соль на клиенте, а не на сервере) - злоумышленник также может просто отправить вашу строку.Так что если это не защищенное соединение, то вы добавляете дополнительную работу, которая не помогает.
Чтобы разрешить проверку паролей на сервере с другой солью, вам нужно сохранить оригинальный пароль в виде открытого текста.
В этом и заключается смысл хранения хешей вместо паролей в базе данных, чтобы не допустить угадывание их только по хешам.И если вы добавите их дополнительно, вам нужно будет использовать ту же соль (она общедоступна, поскольку хранится в базе данных в виде открытого текста, но теперь она является частью исходного пароля).Вы спрашиваете что-то вроде этого:
Как войти в систему от пользователя (пароль которого «безопасный пароль» + «жесткий» => sha1 («безопасный пароль»)), отправив что-то + «мягкий»(а затем протестируйте с помощью sha1 (что-то + "soft")).
Если вам действительно нужно, чтобы это приложение работало, просто отправьте пароль пользователя в виде открытого текста из клиентского приложения, но через защищенное соединение.