l'md5 non è una criptazione, bensì un algoritmo.
In php ci sono delle specifiche librerie che permettono la criptazione (almeno mi sembra...)
Io utilizo md5 e quando rinvio la password la setto una nuova, che poi l'utente potrà rimodificare una volta loggato.