Penso che sia un buon metodo da usare quando si costruisce qualcosa come un framework, CMS, software per forum, ecc., in cui non si controllano i server su cui potrebbe essere installato. Cioè, SÌ, dovresti sempre consigliare l'uso di SSL per gli accessi e l'attività di accesso, ma alcuni siti che usano il tuo framework / cms non ce l'hanno, quindi potrebbero ancora trarne vantaggio.
Come altri hanno sottolineato, il vantaggio qui NON è che un attacco MITM non possa permettere a qualcun altro di accedere a questo particolare sito come te, ma piuttosto che quell'attaccante non sarebbe quindi in grado di usare lo stesso nome utente / password combinata per accedere a dozzine di altri siti su cui potresti avere account.
Tale schema dovrebbe essere saltato con un salt casuale, o qualche combo di sali specifici del sito e specifici del nome utente, in modo che qualcuno che guadagna la password non possa usarlo per lo stesso nome utente su altri siti (anche i siti che usano il schema di hashing identico), né nei confronti di altri utenti del sito del sito che potrebbero avere la stessa password.
Altri hanno suggerito agli utenti di creare password univoche per ogni singolo sito che utilizzano o utilizzare i gestori di password. Mentre questo è un buon consiglio in teoria, sappiamo tutti che è una follia fare affidamento nel mondo reale. La percentuale di utenti che fa una di queste cose è piccola e dubito che cambierà presto.
Quindi un hash di password javascript è il minimo che uno sviluppatore di framework / cms può fare per limitare il danno di qualcuno che intercetta le password in transito (che è facile con le reti wifi in questi giorni) se sia il proprietario del sito che gli utenti finali sono negligenti in merito alla sicurezza (che probabilmente sono).