No, non lo è.
Innanzitutto perché MD5 .
In secondo luogo, perché un intercettatore può intercettare l'hash proprio come può intercettare la password, consentendo loro di inviare lo stesso hash al server per impersonare l'utente ("replay attack").
Quello che potresti fare è che il server invia una stringa univoca e imprevedibile al client per ogni tentativo di accesso. Questo è chiamato " nonce " in crittografia. Il client crea quindi un hash della password insieme a quel nonce. Quando noces non si ripetono e ogni nonce può essere usata una sola volta, gli hash non si ripeteranno e gli attacchi di replay saranno impossibili.
Ma anche questo non aiuta quando l'attaccante non può solo origliare ma anche manipolare il traffico. Ciò consentirebbe loro di sostituire il codice javascript con il proprio che invia loro la password non crittografata. Nessuno schema basato su javascript ti proteggerà in quello scenario.