Sí, esto es malo. Si todo lo que necesita el servidor para autenticarse es este hash (que nunca cambia), entonces tiene es su contraseña ahora. Esto no es mejor que enviar la contraseña sin cifrar, porque todo lo que necesita el atacante para suplantarlo es ese hash.
En cambio, si desea hacer un hash de las contraseñas para la transmisión, la forma de hacerlo es a través de un desafío- sistema de respuesta . De esta manera, el mismo hash nunca se envía dos veces. Pero esto no es una buena idea, porque ...
Es más importante que la contraseña no se almacene en su servidor. TLS / SSL es suficiente para prevenir cualquier tipo de ataque man-in-the-middle. Esa parte está resuelta, solo usa TLS y no te preocupes por eso. Pero do tiene que preocuparse por la piratería de su servidor y la filtración de su base de datos de contraseñas. La publicación de las bases de datos de contraseñas de otras personas está de moda en estos días, y usted no quiere ser uno de los capturados no hashing en su base de datos. Simplemente no hay excusa.
Por lo tanto, transmita sus contraseñas de texto sin formato dentro de una conexión cifrada, pero guárdelas con hash en el servidor. Si haces algo más, cualquier otra cosa, entonces lo estás haciendo mal.