Ostatni znalazłem ciekawy sposób na szyfrowanie haseł:

ço\kÍ9Ń­4×Í;÷GóĆúߎĽónš –   Jaki to szyfr?

To jest ciąg hehe zaszyfrowany najpierw w md5 a potem odszyfrowany za pomocą base64.
base64_decode(md5("hehe")) Pozornie to nic, a nawet mogą wystąpić trudności z przesłaniem tego przez protokół http, a poza tym ktoś może wpaść na pomyśł zaszyfrowania tego za pomocą base64 i wtedy dostanie nasze szyfr md5, i może go szybko złamać za pomocą tęczowych tablic lub metodą siłową.

Nasz szyfr staje się użyteczny dopiero po ponownym zakodowaniu tego w md5: md5(base64_decode(md5("hehe"))) Nikt nie będzie widział, jakie dziwne znaki kryje nasz hash, poza tym większość programów do łamania hashów md5 nie uwzględnia takich znaków, bo po prostu każdy dodatkowy znak wydłuża czas łamania szyfru, a tu mamy ich całkiem dużo.