Wenn der Server aber direkt den Hash-Wert und nicht das Passwort selbst zu Authentifizierung haben will, dann reicht es einem Angreifer den Hash des Passwortes zu kennen. Das Passwort selbst hätte keine Bedeutung, da der Hash vom Passwort immer dann gesendet wird, wenn man ansonsten das Passwort im Klartext gesendet hätte. Du schützt zwar das Passwort, aber für einen Angreifer reich es dadurch aus, nur den Hash zu kennen. Also ist es sinnlos dieses Passwort zu schützen. (Zumindest auf diese Weise)
Wenn ein Angreifer deinen HTTP-Traffic überwachen kann, ist es egal ob der den übertragenen Hash oder das Klartextpasswort snifft - bei der Hash-Variante wird das Klartextpasswort aber geschützt, da es oftmals wahrscheinlich ist, dass der Benutzer dasselbe Passwort anderswo auch noch verwendet.
Nochmal: Passwörter zu hashen dient NIEMALS der Sicherheit des Login-Systems sondern einzig und allein der Sicherheit des Passworts.
Du musst mich falsch verstanden haben. Der Nachteil bezog sich auf meinen Vorschlag oben, bei dem der Server immer einen Wert, der in den Hash mit einfließt, an den Clienten sendet. Somit wäre der Hash immer unterschiedlich.
Ja, aber irgendwelchen Regelmäßigkeiten muss dieser Mechanismus folgen - und diese Regel lässt sich sowohl auf der Client- alsauch auf der Serverseite implementieren.