Natürlich ist ein kryptographischer Hash besser als Plaintext, aber für neue Dinge sollte man gleich auf etwas wie PBKDF2 zurückgreifen, das absichtlich langsam ist.
Aber einfach zu implementieren und wenig Speicherlastig - PBKDF2 hat den signifikanten Nachteil, dass es sich mit GPGPUs sehr leicht Brute-Forcen lässt:
Eine moderne GPU hat tausende Stream-Prozessoren (bzw. ALUs) und genug RAM - da geht das beträchtlich flotter als in diesem Artikel noch angegeben.
Die im Artikel genannnte 8800 Ultra hat "nur" 128 Streamprozessoren, das nicht näher genannte "150-Dollar-Modell" vermutlich nur einen Bruchteil - das aktuelle Flaggschiff von Nvidia (GTX 690) besitzt bereits über 3000, jenes von AMD (HD 7970) über 2000.
Darum ist es wichtig, dass entsprechende Hashfunktionen nicht nur absichtlich Langsam arbeiten sondern sich möglichst nicht parallelisieren lassen. Die einfachste Möglichkeit hierzu war bisher einfach unsinnig viel RAM zu verbrauchen, so wie das unter anderem bcrypt tut - aber RAM wird immer billiger.
scrypt verspricht hier bis zu 4000 mal "zacher" zu sein als bcrypt bzw. 20000 mal mehr als PBKDF2