Hash-Generator/ MD5 · SHA
Berechnen Sie MD5-, SHA-1-, SHA-256- und SHA-512-Hashes in Echtzeit mit der integrierten Web Crypto API des Browsers.
Hat dieses Tool Ihr Problem gelöst?
Was ist ein Hash-Algorithmus
Ein Hash-Algorithmus ist eine Einwegfunktion, die Eingabedaten beliebiger Länge in eine Ausgabe fester Länge umwandelt. Gängige Hash-Algorithmen sind MD5 (128-Bit), SHA-1 (160-Bit), SHA-256 (256-Bit) und SHA-512 (512-Bit). Hashes sind deterministisch (gleiche Eingabe erzeugt immer gleiche Ausgabe), einseitig (Hash kann nicht in Originaldaten rückumgerechnet werden) und zeigen den Lawineneffekt (kleine Eingabeänderungen verursachen große Ausgabeänderungen).
Gängige Anwendungsfälle für Hashes
Passwortspeicherung: Systeme speichern Hash-Werte (in der Regel gesalzen) statt Klartext. Dateiintegrität: SHA-256-Hashes nach dem Download vergleichen, um sicherzustellen, dass Dateien nicht manipuliert wurden. Digitale Signaturen: Dokumentenhashes signieren, um Herkunft und Integrität zu überprüfen. Deduplizierung: Hashwerte nutzen, um schnell festzustellen, ob zwei Daten identisch sind. Blockchain: Bitcoin verwendet doppeltes SHA-256-Hashing, um die Unveränderlichkeit von Transaktionen zu gewährleisten.
Ist MD5 noch sicher
MD5 weist bekannte Kollisionsangriffe auf (verschiedene Eingaben können denselben Hash erzeugen), was es für sicherheitskritische Anwendungen wie Passwortspeicherung oder digitale Signaturen ungeeignet macht. Allerdings wird MD5 in nicht sicherheitsrelevanten Bereichen wie Datei-Prüfsummen und Cache-Schlüsselgenerierung nach wie vor广泛 genutzt. Für sicherheitskritische Anwendungen wird SHA-256 oder更高 empfohlen. Unser Tool unterstützt MD5, SHA-1, SHA-256 und SHA-512.
Codebeispiele
async function sha256(text) {
const data = new TextEncoder().encode(text);
const hash = await crypto.subtle.digest(
"SHA-256", data
);
return Array.from(new Uint8Array(hash))
.map(b => b.toString(16).padStart(2, "0"))
.join("");
}
await sha256("hello");
// "2cf24dba5fb0a30e26e83b2ac5b9e29e..."import hashlib
text = "hello".encode("utf-8")
print(hashlib.md5(text).hexdigest())
print(hashlib.sha1(text).hexdigest())
print(hashlib.sha256(text).hexdigest())
print(hashlib.sha512(text).hexdigest())
# File hash
with open("file.txt", "rb") as f:
print(hashlib.sha256(f.read()).hexdigest())import (
"crypto/md5"
"crypto/sha256"
"fmt"
)
data := []byte("hello")
md5Hash := md5.Sum(data)
sha256Hash := sha256.Sum256(data)
fmt.Printf("%x\n", md5Hash)
fmt.Printf("%x\n", sha256Hash)# Linux echo -n "hello" | md5sum echo -n "hello" | sha256sum echo -n "hello" | sha512sum # macOS echo -n "hello" | md5 echo -n "hello" | shasum -a 256 # File sha256sum myfile.zip shasum -a 256 myfile.zip