Assume a client authenticates using the password, which includes hashing and salting. The hash values are stored in a remote database server.
Questions:
For the hash values stored in the database side, salt is added already?
The client sends the hash value to server for authentication. Is the salt added in this transmitted hash value? If yes, how can the client generate the same salt as server? If not, how to ensure the salt is same for both client and server?
In real-life, what are the common ways to securely generate and store salt?
How to periodically change the salt?