dougal85 wrote:I guess thats true because afterall nobody should even see the md5/sha1 hash to try and crack it.
Silly me for not thinking that.
Well, the idea of hashing (a.k.a. encrypting) the values with md5 or sha1 is so that if someone does get access to the users table in the database, they won't automatically know what password to type. But they could copy the data, then try to find out what the passwords are either by sheer brute force: comparing md5 and/or sha1 hashes on every possible character combination until they get a match; or by using a ready-made look-up table of common words/passwords and their resulting md5 (and/or sha1) hashes.
So, by enforcing strong passwords, you make it more difficult both for people who simply try to guess a password, and to make the cracking task much more complex for someone who does somehow get hold of the password data. But this latter aspect is a "last line of defence"; it would be best that nobody ever gets that far, which means carefully protecting your database login passwords (and making sure that they are particularly "strong" passwords) and controlling who has access to all passwords associated with your site (login, FTP, etc. as well as database).