SHA-1 ·
SHA-2 ·
SHA-3 ·
MD5 ·
HMAC ·
Password Hashing
Hashfunktionen erzeugen aus beliebigen Daten einen eindeutigen Fingerabdruck fester Länge. Sie sind unverzichtbar für Integritätsprüfungen, digitale Signaturen und Passwortspeicherung.
SHA-1 erzeugt einen 160-Bit-Hash. Er galt lange als sicher, wurde aber seit 2017 praktisch gebrochen (SHAttered-Angriff). Heute sollte SHA-1 nicht mehr verwendet werden.
| Merkmal | Wert |
|---|---|
| Hash-Länge | 160 Bit (40 Hex-Zeichen) |
| Blockgröße | 512 Bit |
| Status | ❌ Unsicher (gebrochen) |
| Anwendung | Veraltet, nicht mehr empfehlenswert |
SHA-2 ist die aktuelle Standard-Hashfamilie von NIST. Sie umfasst mehrere Varianten mit unterschiedlicher Hash-Länge. SHA-256 und SHA-512 sind die am häufigsten verwendeten.
| Variante | Hash-Länge | Anwendung |
|---|---|---|
| SHA-224 | 224 Bit | Selten, kompatibel mit SHA-1 |
| SHA-256 | 256 Bit | Standard, weit verbreitet |
| SHA-384 | 384 Bit | Für höhere Sicherheitsanforderungen |
| SHA-512 | 512 Bit | Höchste Sicherheit, langsam aber sicher |
SHA-3 (Keccak) ist der neueste NIST-Standard. Er basiert auf einer völlig anderen Konstruktion als SHA-2 und bietet zusätzliche Sicherheit gegen bestimmte Angriffe.
| Variante | Hash-Länge | Besonderheit |
|---|---|---|
| SHA3-224 | 224 Bit | Entspricht SHA-224 |
| SHA3-256 | 256 Bit | Alternative zu SHA-256 |
| SHA3-384 | 384 Bit | Entspricht SHA-384 |
| SHA3-512 | 512 Bit | Alternative zu SHA-512 |
MD5 erzeugt einen 128-Bit-Hash. Er ist kryptografisch gebrochen (Kollisionen sind praktisch möglich) und sollte nicht für Sicherheitsanwendungen verwendet werden.
| Merkmal | Wert |
|---|---|
| Hash-Länge | 128 Bit (32 Hex-Zeichen) |
| Blockgröße | 512 Bit |
| Status | ❌ Unsicher (gebrochen) |
| Anwendung | Nur für nicht-sicherheitskritische Checksummen |
HMAC (Hash-based Message Authentication Code) verwendet eine Hashfunktion in Kombination mit einem geheimen Schlüssel zur Authentifizierung von Nachrichten. Er gewährleistet Integrität und Authentizität.
| Variante | Hash-Basis | Anwendung |
|---|---|---|
| HMAC-SHA256 | SHA-256 | Standard, weit verbreitet |
| HMAC-SHA512 | SHA-512 | Für höhere Sicherheitsanforderungen |
| HMAC-SHA1 | SHA-1 | Veraltet, nicht mehr empfehlenswert |
Password Hashing ist die sichere Speicherung von Passwörtern. Normale Hashfunktionen (wie SHA-256) sind dafür ungeeignet, da sie zu schnell sind. Spezielle Algorithmen sind iterativ und verwenden Salts.
| Algorithmus | Besonderheit | Empfehlung |
|---|---|---|
| Argon2 | Speicherhart, Sieger der PHC | Best Choice (modern) |
| bcrypt | Cost-Faktor, weit verbreitet | Sehr gut, etabliert |
| PBKDF2 | Iterationsbasiert | Akzeptabel, aber nicht speicherhart |
| scrypt | Speicherhart, komplex | Gut, aber weniger verbreitet |
SHA-1
SHA-256
SHA-3
MD5
HMAC
bcrypt
openssl dgst -sha256 datei.txt ·
echo -n "msg" | openssl dgst -sha256 -hmac "key" -hex