Wie funktioniert ein Salted Hash?
-
Hey,
wie ein Hash funktioniert weiß ich ja aber wie funktioniert ein salted Hash?
Bei einem salted Hash wird an den zu hashenden String noch eine Zufallszahl drangehängt und dann erst gehasht.
Wie kann man aber dann später den Vergleich durchführen? Man kennt doch die Zufallszahl gar nicht, die verwendet wurde!?!?!Bitte um Erklärung.
-
Die Zufallszahl muss man sich natürlich noch merken und bei dem Vergleich einbeziehen.
-
der muss ja nicht jedes mal anders sein.
z.b. passwörter in einer datenbank speichern:man speichert nicht md5(passwort), sondern md5("jetztkommtdaspasswort"+passwort)
vorteil:
wenn jemand den md5-hash klaut, hat er 1. viel mehr arbeit ihn umzukehren (weil das ganze passwort in jedem fall lang ist, auch wenn das eigentliche passwort sehr schlecht war, z.b. "biene85") und 2. wüsste er nicht, welcher teil jetzt das echte passwort ist.man könnte auch "jetztkommtdaspasswort" z.b. aus der user-id generieren so dass es für jeden user anders wäre.
-
Was halt alles nur was bringt wenn das "salt" nicht bekannt ist, bzw. der Algorithmus mit dem das "salt" berechnet wird nicht bekannt ist (bzw. Teile des Input für diesen Algorithmus -- also z.B. wenn die SID nicht bekannt ist und in den Hash eingeht).
-
wenn ich das richtig verstanden habe, wird das passwort künstlich verlängert und dann gesalted!? aber auf beiden seiten muss der salt bekannt sein.
ist das richtig so?
-
fast, die kuenstliche verlaengerung ist das salz.
-
Jo, das was man vorne (oder hinten oder beides) dranhängt ist das "salt", und es muss auf beiden Seiten bekannt sein.
-
salted hering schrieb:
Wie kann man aber dann später den Vergleich durchführen? Man kennt doch die Zufallszahl gar nicht, die verwendet wurde!?!?!
Du speicherst sie ganz einfach.
password_hash | salt | ... -------------------------------- 3257a35e325f |23234398 | ... 22af3253ad32 |a342e34a | ... . | . | . | . | . | . |
-
Sir Macnaughtee schrieb:
man speichert nicht md5(passwort), sondern md5("jetztkommtdaspasswort"+passwort)
Ohne mich wirklich mit dem Thema auszukennen, aber soweit ich weiß ist MD5 denkbar ungeeignet für diesen Anwendungsfall.
-
finix schrieb:
Ohne mich wirklich mit dem Thema auszukennen, aber soweit ich weiß ist MD5 denkbar ungeeignet für diesen Anwendungsfall.
begründung?
md5 wird fast überall im internet zum speichern von passwörtern benutzt.
-
Siehe auch http://de.wikipedia.org/wiki/Rainbow_Table
Speziell den Abschnitt ganz unten, "Gegenmaßnahmen".