I was looking at Stanford's JavaScript crypto library and realized I could do hashing on the client.
Previously, I've been using PHP crypt() which is concise because with one command - crypt() I generate both a crypt type, random salt, the hash and put these three items into a string( md5, I know it's a bit fast but OK for now, read here ).
Looks like this:
crypt() MD5 hash example: $1$rasmusle$rISCgZzpwk3UhDidwXvin0
However if one encrypts on the client using: Stanford's Crypto Library, and utilizing their implementation of SHA-256, one would have the added benefit of hiding the password while it is in transit to the server.
However while hiding the password, it exposes the hash in transit which is actually used to do the sql lookup.
I could hash on both ends - client and server to solve this problem. Would this be over-kill?
What is the standard, secure way to hash passwords?