le password criptate in MD5 possono essere decodificate, ovviamente non tramite un algoritmo di decriptazione (che non esiste), ma andando per tentativi. ci sono programmini che fanno una scansione di stringhe sequenziali fino a quando non trovano quella che ha come hash MD5 lo stesso che è stato registrato come password criptata. trovato l'hash, si ha anche la password in chiaro. questo è possibile perchè l'hash MD5 di un testo è sempre uguale.

gli algoritmi di criptazione basati su chiavi sono più sicuri, visto che se non si conosce la chiave non è comunque possibile decodificare la stringa.

provate questo codice, è un algoritmo di criptazione/decriptazione basato su MD5 con l'uso di una chiave privata:
http://www.codeflower.com/index.php?a=showCode&id=19