Seite 1 von 1

Verfasst: Mittwoch 29. Oktober 2008, 01:27
von EyDu
Leonidas hat geschrieben:
Dauerbaustelle hat geschrieben:@keppla: Das ist doch gerade der Sinn von Hashes, dass sie sich nicht zurückrechnen lassen?!
...Rainbow Table...
...Salt...

Verfasst: Mittwoch 29. Oktober 2008, 09:39
von Leonidas
EyDu hat geschrieben:
Leonidas hat geschrieben:
Dauerbaustelle hat geschrieben:@keppla: Das ist doch gerade der Sinn von Hashes, dass sie sich nicht zurückrechnen lassen?!
...Rainbow Table...
...Salt...
Das steht schon im Rainbow-Table Artikel. Dauerbaustelle sprach von Hashes und die sind so zwar nicht zurückrechenbar, aber dennoch nicht per-se sicher.

Verfasst: Mittwoch 29. Oktober 2008, 11:29
von Dauerbaustelle
@Leonidas: Schon klar. MD5 gilt mittlerweile ja auch als unsicher (Kollisionsgefahr etc).

Wenn man es aber etwa nach dem folgenden Verfahren macht, dürfte es "sicher" sein:

Code: Alles auswählen

In [8]: salt = "u7h&5§"
In [9]: password = "Hall0Dies1stM3inPassw@rtMit1337-5p3@k"
In [10]: import hashlib
In [11]: hash = hashlib.sha512(password+salt)
In [12]: hash.hexdigest()
Out[12]:
'e5754401ce0c42dc7fbf1ce03a7f2fc0b5cadb22d32e73a7bdd570ec9e70461e2cf05affd5b06015c1440c3681802dc3d71ff1992ab34464a3c486c1dcbba75c'
Natürlich ist die Sicherheit eines Hashes wie immer vom Passwort abhängig, das heißt, "Butterbrot" hab ich wohl in fünf Minuten raus...

Verfasst: Mittwoch 29. Oktober 2008, 12:15
von lunar
Leonidas hat geschrieben:
Dauerbaustelle hat geschrieben:@keppla: Das ist doch gerade der Sinn von Hashes, dass sie sich nicht zurückrechnen lassen?!
...Rainbow Table...
Die trotzdem berechnet werden müssen, was nicht trivial ist. Frei verfügbare Tabellen gibt es zwar, die kommen aber kaum über zehnstellige Passwörter ohne Sonderzeichen hinaus.

Verfasst: Mittwoch 29. Oktober 2008, 12:50
von Y0Gi
Jedenfalls ist man mit einem guten und langen Salt sowie einer vernünftigen Hash-Funktion schon mal ausreichend abgesichert. Mit recht geringem Aufwand hat man dann die von farid genannten, sehr realen Probleme erschlagen. Darüber hinaus gehende Sicherheitsvorkehrungen würde ich eher an anderen Stellen (Zugang zum Host, zur Datenbank usw.) ansetzen.