This thread has raised a similar question for me. I fully agree that passwords should be encrypted in such a way so that not even "root" can decrypt them (easily, if at all). However, I have a situation that I haven't been able to figure out. I wrote an email client so that our remote users can use our exchange server through their ISP's (which many will not allow you to send mail unless it uses their server). In the main website, they are allowed to enter their username, email domain, and password so that they don't have to log in different times on the same site. I store this info in MySQL and then when they choose to run the email client they are automatically logged in. The main problem here is that I need to decrypt the password before sending it to the exchange server since it doesn't understand the encrypted one. I feel like this is a huge problem waiting to explode. Does anyone have any ideas on how this situation could be handled better?