I dubbi di Enoa sono assolutamente giustificati... mandare un semplice hash non risolve molto... l'hash mandato in quel modo è praticamente un'altra password in chiaro. Posso sniffare l'hash e rimandarlo tale e quale. E' un attacco di tipo play-back (o replay attack).
Si può invece migliorare la cosa con un qualche protocollo di challenge-response. Il server apre una sessione con client e gli manda una stringa casuale (challenge), è importante che sia ogni volta diversa. Il client esegue l'hash della concatenazione di stringa casuale e password inserita dall'utente e la invia al server (reponse). Nella sessione instaurata il server avrà memorizzato la stringa casuale temporanea per quell'utente. Il server che conosce sia la stringa casuale che la password dell'utente può eseguire la stessa operazione e per confronto autenticare o meno il client.
Ogni operazione di sniffing produrrà un hash non più riutilizzabile in quanto all'attacante verrà richiesto di rispondere ad un challenge diverso.