Moin!
»» Stand der Technik ist eine "salted one way hash function", sprich: Ein Zufallswert ("salt") und das korrekte Passwort werden mit einer starken Hash-Funktion zu einer Art Prüfsumme verarbeitet [...]
ergaenzend: Idealerweise Salt, Passwort und die ID o.ae. des Benutzers, damit die Gleichheit der Passwoerter verschiedener Benutzer nicht am Hash-Wert erkennbar ist.
Im Uebrigen halte ich den Begriff "Zufallswert" fuer einen Hash fuer arg irrefuehrend. Ein Salt ist ein konstanter Wert fuer alle Passwoerter, und muss nicht zufaellig generiert o.ae. sein - es kann durchaus ein wohlgewaehltes Codewort sein.
Nein, ein Salt darf durchaus ein zufällig generierter Wert sein - den man sich natürlich dann parallel irgendwo mit abspeichern muss, um später das Passwort korrekt vergleichen zu können. Arbeitet man mit statischen Salt-Werten, würde es sich sonst eventuell irgendwann lohnen, für eine große Menge an Passworthashes wieder Rainbowtables zu rechnen. Zumindest aber kann man klar erkennen, ob zwei User dasselbe Passwort verwenden.
- Sven Rautenberg