Using two hash functions for increased password security?
Simply hashed passwords are susceptible to brute force or rainbow table attacks.  Hashing the passwords again will simply increase the cost of computing an entry in these tables (by one hash), but that is not an appreciable increase in the challenge of cracking them.

Several techniques available in practice including salt ing the password, wherein you prepend the password with a random substring (known as the salt), which you also prepend (in plaintext) to the hash.  So, whereas a password "hello" might hash to h("hello"), the salted password would be foo || h("foo" || "hello").  If "foo" is random, then this means that I may need to store all possible salted hashes for a given password in order to crack it.

To complicate the crack-ability of the password hash even further, one may add a pepper, which is a random (but not published) string prepended to password before hashing.  Checking a password in this case requires checking all possible peppers with a given password to see if any hash to the stored hash value.