Olá, Gibran!
Quando falamos sobre um cliente web, sim, a cada login do usuário, o cliente deve fazer a conversão da senha digitada para o modelo de criptografia escolhido e então enviar para a API. Isso é essencial para manter a segurança dos dados do usuário, pois mesmo que alguém consiga interceptar essa informação durante a transmissão, não terá acesso à senha original.
Em relação à sua segunda pergunta, sobre o hash gerado sempre ser o mesmo para uma determinada senha, a resposta é sim. O processo de hash é determinístico, o que significa que, para uma entrada específica, a saída será sempre a mesma. No entanto, é importante notar que qualquer alteração, mesmo que mínima, na senha original resultará em um hash completamente diferente.
Por exemplo, se utilizarmos o algoritmo de hash SHA-256, a senha "123456" sempre será convertida para o hash "e10adc3949ba59abbe56e057f20f883e". Se alterarmos a senha para "1234567", o hash resultante será completamente diferente: "fcea920f7412b5da7be0cf42b8c93759".
Bons estudos!