Well, this is how it works.
The Auth libs has 2 salts, a file based on (This is stored in the auth config and is static.) and the other one is generated each time a user registers and this is stored within that users row.
Now, what happens when a user registers is that the auth lib hashes the password with a unique key (salt) from both the config and the database. The advantage to this is that if a hacker breaks into your website and steals your database. He is missing the other salt (auth config salt) so his attempts at brute forcing the passwords will be nill.
So, this 2 layer security and is more secure than just running your password once through the md5 function.
The other advantage is if 2 or more users sign up with the same password they will all up end with different hashes.
