Ora bem, como devem saber, se em PHP usarem a função $x = MD5($valor), $x passa a ter o conteudo de $valor encriptado.
Problema? SIM! MD5 não é seguro pois como resulta em hashes de 128 bits, é facilmente quebrado com ataques Brute-Force, sobretudo porque podem ser usados 'dicionarios de hashing' para reduzir (por assim dizer) a segurança do hash.
Então, com que função é que devo encriptar as minhas passwords, perguntam vocês? Bem, usem a função HASH do PHP.
$x = hash($algoritmo, $valor);
O que faz a variavel $algoritmo? permite-vos escolher o algoritmo de hashing.
podem usar "md5", "sha256" (tem 256-bit, muito mais seguro), "sha512", "haval-160", entre dezenas de outros.
Ou seja, em vez de $x = md5($valor); usem por exemplo $x = hash("sha256", $valor); que é bem melhor!
Atenciosamente,
dark