One more word about ciphered passwords:

-do not cipher them using a symmetic key (e.g. DES or AES) . If the key is found, then all the passwords are revealed.
-do not simply store SHA or MD5 hashes. There are hash dictionaries on the web. Rainbow tables are also usable to find the password that generated a particular hash.

-use salting and integrate the username in the hash:

1)choose a random string A
2)compute B= SHA256(username:password)
3)store in the database A and SHA256(A:B)
3bis) as an alternative, store A and SHA256(A:username:password)

this way, the stored hash cannot be used to recover the password.