...Salt...Leonidas hat geschrieben:...Rainbow Table...Dauerbaustelle hat geschrieben:@keppla: Das ist doch gerade der Sinn von Hashes, dass sie sich nicht zurückrechnen lassen?!
PASSWORD
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
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.EyDu hat geschrieben:...Salt...Leonidas hat geschrieben:...Rainbow Table...Dauerbaustelle hat geschrieben:@keppla: Das ist doch gerade der Sinn von Hashes, dass sie sich nicht zurückrechnen lassen?!
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- User
- Beiträge: 996
- Registriert: Mittwoch 9. Januar 2008, 13:48
@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:
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...
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'
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.Leonidas hat geschrieben:...Rainbow Table...Dauerbaustelle hat geschrieben:@keppla: Das ist doch gerade der Sinn von Hashes, dass sie sich nicht zurückrechnen lassen?!
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.