Übrigens gilt MD5 nicht mehr wirklich als sicher.
Ja - so wie auch RSA-768 "nicht mehr wirklich sicher" ist. Für diesen Einsatzzweck ist das aber noch immer ohne belang. Solange kein Preimage-Angriff auf "kurze" Zeichenketten möglich ist, ist man prinzipiell noch sicher.
Nimm SHA-256 oder ähnliches, wenn Du eine hohe Sicherheit benötigst.
Afaik sind für die SHA-2-Familie mittlerweile Preimage-Angriffsmethoden bekannt, aber auch diese sind nicht relevant.
Zudem sind sämtliche SHA-2-Hashes potentiell mit denselben Methoden angreifbar wie jene aus der SHA-1-Familie.
Die Empfehlung auf stärkere Hash-Algorithmen umzusteigen wird vom NIST zwar herrausgegeben, bezieht sich aber auf die Verwendung in digitalen Signaturen. Leider wird das oft falsch interpretiert. Nach den aktuellen empfehlungen wird sogar angestrebt, die SHA-2-Familie einzustampen und auf die SHA-3-Familie umzusteigen. Da läuft aber seit Oktober 2008 der Validierungsprozess.
In Bezug auf Sicherheit für "noramle" gehashte Klartextpasswörter ist MD5 nicht unsicherer als SHA-256. Die bekannten Lücken in MD5 sind für diesen Punkt nicht relevant - das was SHA-256 sicherer macht ist die Länge des Hashes, der größere Umfang ist aber für nicht gesalzene "kurze" Passwörter nicht relevant. Der Hash-Algorithmus spielt bei den gebräuchlichen angriffen idR. keine Rolle da sämtliche sinnvollen Angriffe auf Brute-Force basieren - ob ich "alle" 8-stelligen Passwörter mit dem Zeichenvorrat A-Za-z0-9 oder ein definiertes Wörterbuch in MD5 oder SHA-512 abilde ist egal, die Menge der Datensätze ist endlich. Der Raum der möglichen Hashes ist z.B. bei MD5 um etwa den Faktor 1*10^23 größer.
Es schadet nicht, auf SHA-256 umzusatteln - für den Schutz der "Breiten Masse" bringt es aber nichts, wenn man vergisst seine Passwörter zu salzen.