I am trying to understand what information are needed to be sent in a web application . Basically I have a web app running on a web server , a database which has a user table with hashed password and salt , and of course the web client with javascript enabled.
When a user login at the login , the user name and password are entered on the client side. I want to know what information are sent . Does the web client sent the password in plain text ,or does it use javascript to hash the password WITHOUT the salt and sent the hased result ? Or does the client fetch the salt in plain text from the server , and then the client sent the hased password+salt ?
What is the best way to hash , and to hash with salt ? Is MD5 ok as a hash ? How does hash( password_plain_text + salt ) vs. hash(hash( password_plain_text ) + salt ) , where + is a string concatenation ?