 <p>Nothing. Hashing the password on the client is a terrible idea.</p> <p>Communication between the browser and server should be properly encrypted using SSL (via HTTPS).</p> <p>Hashing on the client side has two effects:</p> <ul> <li>It provides a false sense of security to the site owner by suggesting that it can substitute for SSL</li> <li>It adds a dependency on JavaScript</li> </ul>