El tema de seguridad es apasionante sin dudas... como prevensión es solucionable facilmente en lo que son inyecciones sql, con magic_quotes o uso de librerias como PDO y parametrización de variables, luego html_entities() para prevenir xss (cross-site-scripting). El tema del hasheo va un poco mas a la paranoia, porque hoy en dia los MD5 son facilmente reversibles si el usuario pone una contraseña vaga... Tambien tenes que pensar en que alguien que trabaja en el hosting filtra información y esas cosas. Siempre dependiendo la importancia de la web y si a alguien le va a importar hackearla.
Por ultimo aclararte una cosa que alimenta la cultura general sobre el tema, lo que se conoce como MD5, SHA1, etc no es encriptar claves, solo es hashear... esas funciones fueron creadas solo para el control de inviolabilidad de archivos, generan un codigo unico por la cantidad exactos de bits, y este codigo es llamado "checksum". Luego los programadores lo usamos para las claves. Encriptar es mucho mas profundo, seguro y lento... y a diferencia de esos hash tenes una clave para desencriptar nuevamente las claves encriptadas...
Si tu interes es poder ver las claves de tus usuarios pero al mismo tiempo protegerlas puede ser una buena opcion, yo te recomiendo blowfish.
Acá va un codigo de ejemplo:
http://www.chilkatsoft.com/p/php_blowfish.asp
Perdon si hice muy larga la respuesta, me apasiona el tema y me gusta que se entienda bien la diferencia.
Saludos!