Zwei Datei-Prüfsummen vergleichen
Ein Prüfsummenvergleich bestätigt schnell, ob eine Datei nach der Übertragung noch denselben Inhalt wie zuvor besitzt.
Im Browser ausführen – kostenlos
Geben Sie die an der Quelle erfasste Prüfsumme und den am Ziel mit demselben Algorithmus berechneten Wert ein. Dieses Werkzeug vergleicht beide ohne Unterscheidung von Groß- und Kleinschreibung, weist unterschiedliche Längen zurück und liefert ein eindeutiges Ergebnis. Die Datei selbst wird weder hochgeladen noch untersucht oder gehasht; Sie behalten die Kontrolle über die Datei und den gesamten Berechnungsvorgang.
Werte von Quelle und Ziel vergleichen
Berechnen Sie eine Prüfsumme, bevor die Datei ihre Quelle verlässt, und eine weitere nach Abschluss der Übertragung. Beide Berechnungen müssen denselben Algorithmus und dieselben Einstellungen verwenden. Fügen Sie den ersten Wert in checksum_before und den zweiten in checksum_after ein. Der Vergleicher entfernt äußere Leerzeichen, stellt sicher, dass kein Wert leer ist, und prüft die gleiche Zeichenzahl. Anschließend vergleicht er die Zeichenfolgen ohne Beachtung der Groß- und Kleinschreibung. Das ist bei hexadezimalen Hashwerten hilfreich: Ein Programm kann Kleinbuchstaben, ein anderes Großbuchstaben ausgeben, obwohl die dargestellten Bytes identisch sind. Ein wahres Ergebnis bedeutet, dass die Darstellungen übereinstimmen; ein falsches zeigt mindestens ein abweichendes Zeichen. Zusätzlich wird die geprüfte Länge ausgegeben, damit sich das verglichene Format dokumentieren lässt. Das Werkzeug leitet daraus bewusst keinen Algorithmus ab, weil mehrere Formate dieselbe Länge haben können und eine Zeichenfolge allein ihren Ursprung nicht beweist. Halten Sie den Algorithmus daher gesondert im Übertragungsverfahren fest, damit die Berechnung am Ziel zuverlässig dem Verfahren an der Quelle entspricht.
Eine Übereinstimmung richtig einordnen
Bei einem wahren Ergebnis sind beide Zeichenfolgen nach Vereinheitlichung der Schreibung gleich. Das ist ein starkes Indiz dafür, dass die übertragene Datei mit dem gewählten Algorithmus denselben Hashwert wie die Quelldatei erzeugt hat. Es beweist nicht, dass diese Seite eine der Prüfsummen berechnet hat, denn sie erhält lediglich die zwei Zeichenfolgen. Ebenso wenig erkennt sie einen Bedienfehler, wenn beide Werte aus derselben Stelle kopiert oder für die falsche Datei berechnet wurden. Bei einem falschen Ergebnis sollten Sie beide Werte unmittelbar an den vorgesehenen Dateien neu berechnen, bevor Sie erneut übertragen. Eine Abweichung kann auf Beschädigung, einen unvollständigen Upload, Textmodus-Konvertierung, ein verändertes Archiv oder einen aus einem anderen Artefakt eingefügten Wert hinweisen. Unterschiedliche Längen führen zu einem Fehler statt zu einem falschen Ergebnis, weil derselbe Algorithmus vorausgesetzt wird. Unter dieser Annahme weisen ungleiche Formate auf einen Einrichtungs- oder Kopierfehler hin. Ignoriert wird ausschließlich die Groß- und Kleinschreibung. Innere Leerzeichen, Zeichen, Präfixe oder Trenner bleiben Bestandteil des Werts; verwenden Sie vergleichbare Ausgabeformate oder entfernen Sie programmspezifische Zusätze.
Den Vergleich in den Übertragungsablauf integrieren
Berechnen Sie bei einem einzelnen Download die Quell- und Zielprüfsumme mit vertrauenswürdigen lokalen Werkzeugen, notieren Sie den Algorithmus sichtbar und nutzen Sie diesen Vergleich als klare Zweitprüfung. Speichern Sie bei automatisierten Lieferungen den Quellwert neben dem Artefakt oder in einem signierten Manifest, berechnen Sie den Zielwert nach dem endgültigen Schreibvorgang und rufen Sie die API auf, bevor Sie die Übertragung als erfolgreich markieren. Eine Abweichung sollte Veröffentlichung oder Bereitstellung stoppen und genügend Informationen für die Untersuchung bewahren; ein fehlerhaftes Paar oder verschiedene Längen gelten als Konfigurationsfehler. Wählen Sie den Algorithmus passend zum Bedrohungs- und Zuverlässigkeitsmodell. Moderne kryptografische Hashverfahren eignen sich, wenn versehentliche Beschädigung und absichtlicher Austausch relevant sind; ältere oder kürzere Prüfsummen können in begrenzten Systemen sinnvoll bleiben, bieten aber andere Garantien. Diese Fähigkeit empfiehlt oder erzwingt keinen Algorithmus, sondern vergleicht gezielt zwei bereits mit derselben Methode erzeugte Werte. Der deterministische Ablauf nutzt weder Netzwerk noch Modell, Zufall oder Uhr. Browser und API liefern deshalb dasselbe Resultat, und automatisierte Systeme können für $0.002 pro Anfrage vergleichen, ohne die Datei zu senden.
Anwendungsfälle
Einen heruntergeladenen Release prüfen
Vergleichen Sie die für einen Release veröffentlichte Prüfsumme mit dem Wert der heruntergeladenen Datei.
Eine Artefaktübertragung absichern
Stoppen Sie Bereitstellung oder Veröffentlichung, wenn die Zielprüfsumme vom erfassten Quellwert abweicht.
Die Integrität einer Sicherung prüfen
Vergleichen Sie Werte vor und nach dem Kopieren einer Sicherung, ohne deren Daten an den Vergleicher zu senden.
Häufige Fragen
Beachtet der Vergleich Groß- und Kleinschreibung?
Nein. Groß- und Kleinbuchstaben gelten als gleich, sodass übliche hexadezimale Ausgabeformate unterstützt werden.
Warum werden verschiedene Längen zurückgewiesen?
Die Werte müssen vom selben Algorithmus stammen. Ungleiche Längen zeigen inkompatible Formate oder Algorithmen beziehungsweise eine unvollständige Kopie an.
Berechnet dieses Werkzeug die Prüfsumme meiner Datei?
Nein. Es vergleicht zwei von Ihnen bereitgestellte Zeichenfolgen und benötigt die eigentliche Datei nicht.
Beweist eine Übereinstimmung eine sichere Übertragung?
Sie beweist nur, dass die angegebenen Werte ohne Beachtung der Schreibung übereinstimmen. Die Aussagekraft hängt auch von Berechnung, Schutz und Zuordnung zur richtigen Datei ab.
Werden Leerzeichen ignoriert?
Nur Leerzeichen am Rand jedes vollständigen Werts werden entfernt. Innere Leerzeichen oder Trenner bleiben relevant.
Was kostet der Vergleich über die API?
Jede API-Anfrage kostet $0.002. Derselbe deterministische Vergleich kann auch im Browser ausgeführt werden.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/verify/file-checksum-compare \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"checksum_before":"9e107d9d372bb6826bd81d3542a419d6","checksum_after":"9E107D9D372BB6826BD81D3542A419D6"}'const res = await fetch("https://api.kit.forhosting.com/verify/file-checksum-compare", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"checksum_before": "9e107d9d372bb6826bd81d3542a419d6",
"checksum_after": "9E107D9D372BB6826BD81D3542A419D6"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/verify/file-checksum-compare",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"checksum_before": "9e107d9d372bb6826bd81d3542a419d6",
"checksum_after": "9E107D9D372BB6826BD81D3542A419D6"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/verify/file-checksum-compare", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"checksum_before":"9e107d9d372bb6826bd81d3542a419d6","checksum_after":"9E107D9D372BB6826BD81D3542A419D6"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"checksum_before":"9e107d9d372bb6826bd81d3542a419d6","checksum_after":"9E107D9D372BB6826BD81D3542A419D6"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/verify/file-checksum-compare", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"checksum_before": "9e107d9d372bb6826bd81d3542a419d6",
"checksum_after": "9E107D9D372BB6826BD81D3542A419D6"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "verify.file_checksum_compare",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |