suit: Userdaten Verschlüsseln? MySQL

Beitrag lesen

MD5 ist als geknackt anzusehen, erst recht ohne Salt.

Das ist so nicht richtig - für MD5 gibt es immer noch keine praktikabel durchführbaren Pre-Image-Angriffe ...

Nimm den härtesten Hash-Algorithmus, den Du bekommen kannst. SHA-512 wäre ein Anfang.

...  und auch wenn es diese gäbe, wären die für Passwörter idR. nicht relevant, da die Datenmenge hierbei signifikant abweicht. Ein Passwort ist keine zu signierende Nachricht und es ist so extrem unwahrscheinlich, dass es jemals (auch bei einem schlechten Hash-Algorimus) eine Kollision zweier kurzer Zeichenketten geben wird, dass dieser Fall zu vernachlässigen ist.. Jeglicher Hash-Algorithmus (egal wie stark er ist) ist gegen Wörterbuchangriffe anfällig - und genau darum gehts bei der Passwortsicherheit.

Und auf jeden Fall gehört eine Zufallskomponente ("Salt") in die Hash-Funktion.

Ja - und hierbei spielt es dann keine Rolle mehr, ob man nun MD5 oder SHA-256 oder gar 512 verwendet ist Wurst, eine Rainbow-Table ist schnell generiert. Ob die nun 2 TiB oder 8 hat ist bei den aktuellen Festplattenpreisen vernachlässigbar. Wichtig ist eben, dass man diese Tabelle unnütz macht und nur noch Brute-Forcen übrigbleibt - und auch dabei ist der Hash-Algorithmus wieder egal - und auch der verwendete Salt-Algorithmus. Sobald dieser bekannt ist, ist auch ein schlechtes Passwört nicht mehr sicher.