Hi,
wollen wir uns nicht mehr weiter streiten, aber:
... Du möchtest es trotzdem.
Beweise das Gegenteil:
f95781a118e0c4bce1d8a3386d6454f5
Probiere selber: http://passcracking.com/
Der nimmt übrigens auch Deinen heißgeliebten Hexstring an ;-)
10 stelliges PW, a-z 0-9
Was für ein Paßwort das ist interessiert nicht, da lediglich ein String gesucht wird, der zum selbem Hash führt.
Super, es gibt ja nur: 2^128 Möglichkeiten, um _nur_ die Hashwerte zu speichern braucht man also: 2^128*128 Bit = 4*10^40 Bits oder ca. 5 Quadrilliarde Terrabyte. Und dann muss man dazu noch das Passwort speichern...
Nein, das ist nicht korrekt, das geht auch deutlich geschickter.
Und um diese Tabelle zu berechnet, benötigt man 2^128*x Rechenschritte (x: Rechenschritte pro MD5 Hash).
Ja, das ist korrekt.
Sofern das Passwort _gut_ gewählt ist, gibt es darüber bisher keine Möglichkeit an das Passwort zu gelangen.
Wie gesagt: es ist völlig uninteressant an das Paßwort zu kommen, es reicht einen String zu finden, der den gleichen Hash ergibt.
Aber dieses Verfahren funktioniert bei allen Hashverfahren, egal ob MD5, SHA1 oder Hashverfahren auf diskreten Logarithmen.
Brute Force funktioniert immer, ja. Aber ist ja kein Brute Force bei MD5 mehr nötig, das ist ja der Witz.
Bei schlechten Passwörtern hilft das beste Hashverfahren nicht, dafür ist der User zuständig....
Schlechte Paßwörter gibt es bei Brute Force nicht, da sind alle gleich. Schlechte Paßworte sind jedoch möglich, wenn man von Lexikaangriffen ausgeht inklusive der üblichen kleinen Variationen. Die so ausgesiebten schlechten Paßworte verkleinern aber natürlich im Gegenzug wieder den Bereich, den Brute Force abzuklappern hätte. Gut, das wäre dann strenggenommen schon kein Brute Force mehr, aber so beckmesserisch bin ich heut' mal nicht.
BTW: der User sollte nicht für die Wahl der Paßworte zuständig sein. Nur wenn sich das wirklich nicht vermeiden läßt und normalerweise läßt es sich immer vermeiden.
so short
Christoph Zurnieden