Das Problem ist, das Rechner heute einfach zu schnell sind und man Passwörter sehr schnell durchprobieren kann.
Die beste momentan benutze Lösung ist, das Hashen langsamer zu machen.
Z.b. Passwort hashen und diesen Hash dann z.b. 1000 mal wieder mit sich selbst hashen.
Wenn jemand mal diesen Hash in die Finger bekommt reichts nicht einfach Passwörter durchzuprobieren und MD5en, sondern er hat für jedes noch die 1000er Schleife an der Backe.
Die Schleife wählt man so gross, dass sie dich performancemässig noch nicht stört.
Zu SHA: Der ist gut, kann man auch benutzen, aber auch MD5 ist gegen diese Art Angriff nicht anfällig
1 + 1 = 10