Zum Inhalt springen
uencoder

Salt

Ein Salt ist ein Zufallswert, der beim Passwort-Hashing hinzugefügt wird, damit identische Passwörter unterschiedliche Hashes erzeugen; dadurch werden Rainbow-Tabellen und die Erkennung gleicher Passwörter unwirksam.

Zweck

Dafür sorgen, dass der Hash jedes Benutzerpassworts eindeutig ist – auch bei identischen Passwörtern –, um Vorabberechnung und Massenvergleich zu verhindern.

Mechanismus

Pro Passwort wird ein eindeutiger Zufalls-Salt (≥ 16 Bytes) erzeugt und die Verkettung gehasht: H(Passwort || Salt). Der Salt wird zusammen mit dem Hash gespeichert (keine Geheimhaltung nötig); bei der Verifizierung wird mit dem gespeicherten Salt neu gehasht und verglichen. Durch Salting müssten Rainbow-Tabellen pro Benutzer neu vorberechnet werden, was unpraktikabel ist.

Anwendungsfälle

  • Speicherung von Passwort-Hashes
  • Eingabe für KDFs (PBKDF2/scrypt)
  • Analogie zum Verschlüsselungs-IV
  • Token-Erzeugung

Beispiele

  • Eingabe
    password + random salt
    Output
    Unique hash

    Different per user

Häufige Fehler

A global fixed salt (equivalent to no salt)
Generate a unique random salt per password

Verwandte Begriffe

Verwandte Tools

References