Hashes/Krypto
Scrypt Hash + Verify
Passwörter mit scrypt hashen (RFC 7914, memory-hard KDF) mit Prüfung gegen einen vorhandenen Hash.
Scrypt (RFC 7914) war einer der ersten memory-hard Passwort-Hashing-Algorithmen: Er verlangt bewusst viel Arbeitsspeicher, nicht nur CPU-Zeit, um paralleles Durchprobieren auf GPUs und ASICs zu erschweren.
So verwendest du es
- Hashen: Gib ein Passwort ein und stelle die Parameter ein (N — Speicherkosten, r — Blockgröße, p — Parallelität), um einen Hash zu erhalten.
- Prüfen: Füge ein Passwort und einen vorhandenen scrypt-Hash ein, um zu prüfen, ob sie übereinstimmen.
- Jedes Hashing verwendet ein frisches Zufallssalt, sodass dasselbe Passwort jedes Mal einen anderen Hash ergibt.
Typische Anwendungsfälle
- Prüfen, ob ein Backend Passwörter vor dem Speichern korrekt mit scrypt hasht.
- Einen Test-scrypt-Hash für Fixtures oder Seed-Daten in der Entwicklung erzeugen.
- Scrypt mit bcrypt und Argon2 vergleichen bei der Wahl eines Hashing-Algorithmus für ein neues Projekt.
Was du wissen solltest
Der Parameter N (Speicherkosten) erhöht sowohl den benötigten Speicher als auch die Rechenzeit exponentiell — passe ihn an die tatsächliche Kapazität deines Servers an.
Scrypt wurde durch Argon2 (den offiziellen Gewinner der Password Hashing Competition) als empfohlene Wahl für neue Systeme abgelöst, gilt selbst aber weiterhin nicht als unsicher.
Artikel zu diesem Tool: Scrypt: warum der Algorithmus so viel Speicher braucht
Häufig gestellte Fragen
Wie unterscheidet sich scrypt von bcrypt oder PBKDF2?
Scrypt ist bewusst sowohl speicherintensiv als auch CPU-intensiv, was es im Vergleich zu bcrypt oder PBKDF2, die hauptsächlich CPU-basiertem Brute-Force widerstehen, weitaus teurer macht, mit GPUs oder spezieller ASIC-Hardware zu knacken.
Was steuern die Parameter N, r und p?
N legt die CPU-/Speicherkosten fest (muss eine Zweierpotenz sein), r legt die Blockgröße fest, die den Speicherverbrauch pro Operation beeinflusst, und p legt die Parallelisierung fest — jede Erhöhung steigert die Ressourcenkosten sowohl für legitime Nutzung als auch für Angriffe.
Ist scrypt im Vergleich zu Argon2 noch eine gute Wahl?
Scrypt bleibt solide und bewährt, aber Argon2 (Gewinner des Password Hashing Competition) wird für neue Systeme im Allgemeinen empfohlen, da es feinere Kontrolle über Speicher und Seitenkanal-Resistenz bietet.
Wie viel Speicher verbraucht scrypt tatsächlich?
Ungefähr 128 × N × r Byte pro Berechnung. Bei typischen Parametern (N=16384, r=8) sind das etwa 16 Megabyte pro Hash — unbedeutend für einen einzelnen Login, aber erheblich bei Tausenden gleichzeitiger Authentifizierungen auf einem Server.
Wo wird scrypt außer beim Passwort-Hashing noch eingesetzt?
Scrypt ist als Proof-of-Work-Algorithmus in einigen Kryptowährungen bekannt (z. B. Litecoin) — gewählt gerade wegen seiner Resistenz gegen Mining auf spezialisierter ASIC-Hardware, wie sie für Bitcoin mit seinem SHA-256 charakteristisch ist.