Many client-server systems use hash functions for the authentication of users password.They use passwords as inputs of different hash functions like MD5,SHA-1 etc and compute hash values.Then they store the hash values in their database.
As far as I know,, if the hash values are known to crackers they can try to retrieve passwords through brute-force attack,dictionary attack ,look up table and so on.
I want to know if the following fact is true or not.
It is necessary to keep hash values secret from crackers if we want to make the authentication system difficult to crack for crackers.