Is there any reason why one should not use the username as the password salt? Storing md5( username . password ) instead of md5( password ) in the password column.
It seems like a very simple idea, so I’m sure there’s a good reason why it’s not in popular use. Hopefully somebody can tell me that reason!
There was some discussion on the BeWelcome developers mailing list recently about OpenID and passwords, encryption and so on. Today I received an email from UKReg (aka Fasthosts) to tell me that somebody may have stolen their customer data and may have access to the account passwords.
Fasthosts suggested I change my password. I couldn’t seem to log in, so I clicked the “Forgotten Password” link. They then sent me an email containing my password.
It struck me how ridiculously insecure that is. That means they store my password in plain text. They can look it up if they want to. That’s outrageous. In almost all systems, the password is stored in encrypted (technically hashed) form. If you lose your password, you can’t recover it, you need to create a new one.
Of course, the biggest problem with passwords is always the same. Damned users. It never fails to amaze me how many people use the same password for everything. Otherwise intelligent people, who damn well should know better.
So, go change your passwords. Even writing them all down in a book is still more secure than using the same password everywhere.