zurück zum glossar

Salting (Kryptographisches Salt)

Security

Salting fügt zufällige Daten zu Passwörtern vor dem Hashing hinzu. Gleiches Passwort → verschiedene Hashes. Verhindert Rainbow-Table-Angriffe.

detaillierte erklärung

Salting ist eine Technik, die Rainbow-Table-Attacks verhindert. Ablauf: 1) Zufälliges Salt generieren (16-32 Byte). 2) Salt + Passwort konkatenieren. 3) Hash(Salt || Passwort) berechnen. 4) Salt + Hash in DB speichern. Beispiel: User A + B haben beide Passwort password123. Ohne Salt: Beide bekommen Hash 482c811da5d5b4bc6d497ffa98491e38 (MD5). Mit Salt: User A Salt=abc123 → Hash=X, User B Salt=def456 → Hash=Y (komplett verschieden). Rainbow-Tables (vorberechnete Hash-Tabellen) werden nutzlos, da jeder User einzigartiges Hash hat. Salt muss nicht geheim sein (steht neben Hash in DB), nur einzigartig. Per-User-Salt (nicht global!) ist kritisch. Moderne Hashing-Algorithmen (bcrypt, Argon2) integrieren Salting automatisch. Veraltete Praxis: Globales Salt ("Pepper"), anfällig wenn geleakt.

warum ist das wichtig?

Salting ist Pflicht für sichere Passwort-Speicherung - du musst verstehen, warum Rainbow-Tables ohne Salt funktionieren und dass Salt nicht geheim sein muss. Essentiell für Secure Development (never roll your own crypto, use bcrypt).

häufige fehler

  • Salt muss geheim sein - Nein, Salt steht neben Hash in DB, nur Einzigartigkeit zählt
  • Globales Salt reicht - Nein, jedes Passwort braucht einzigartiges Salt (sonst gleiche Passwörter → gleiche Hashes)
  • Salt ersetzt starke Hashing-Algorithmen - Nein, Salt + bcrypt/Argon2, nicht Salt + MD5

verwandte begriffe

passende bilabs lessons

quellen

das könnte dich auch interessieren