Confronti due checksum di file
Incolli il checksum dell’origine e quello della destinazione: 9e107d9d… e 9E107D9D… valgono come lo stesso valore di 32 caratteri, quindi una maiuscola non le farà credere che il file sia arrivato rovinato. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Checksum prima
- 9e107d9d372bb6826bd81d3542a419d6
- Checksum dopo
- 9E107D9D372BB6826BD81D3542A419D6
- Lunghezza
- 32
Il confronto dei checksum consente di verificare rapidamente che un file sia arrivato con lo stesso contenuto che aveva prima del trasferimento. Inserisca il valore registrato all’origine e quello calcolato a destinazione con il medesimo algoritmo. Questo strumento li confronta senza distinguere maiuscole e minuscole, rifiuta valori di lunghezza diversa e restituisce un esito inequivocabile. Non carica, esamina né calcola l’hash del file: Lei mantiene il controllo sia del file sia dell’intero processo di calcolo.
Confronti i valori di origine e destinazione
Calcoli un checksum prima che il file lasci l’origine e un altro al termine del trasferimento. Entrambi i calcoli devono utilizzare lo stesso algoritmo e le stesse impostazioni. Il comparatore elimina gli spazi esterni, verifica che nessun valore sia vuoto e controlla che le due stringhe contengano lo stesso numero di caratteri.
Quindi le confronta senza distinguere maiuscole e minuscole. Questo comportamento è utile per i digest esadecimali: un programma può stampare lettere minuscole e un altro maiuscole anche se i byte rappresentati sono identici. Un esito vero indica che le rappresentazioni fornite coincidono; un esito falso segnala che almeno un carattere è diverso.
La risposta riporta anche la lunghezza convalidata, utile per documentare il formato confrontato. Lo strumento non deduce l’algoritmo dalla lunghezza, perché più formati possono avere la stessa dimensione e una stringa da sola non dimostra quale algoritmo l’abbia prodotta. Registri separatamente l’algoritmo nella Sua procedura, affinché il calcolo a destinazione corrisponda in modo affidabile al metodo usato all’origine.
Interpreti una corrispondenza senza sopravvalutarla
Quando l’esito è vero, le due stringhe sono uguali dopo la normalizzazione delle maiuscole e minuscole. È una prova solida che, con l’algoritmo scelto, il file trasferito ha prodotto lo stesso digest del file sorgente. Non dimostra che questa pagina abbia calcolato i due checksum, poiché il comparatore riceve soltanto le stringhe.
Inoltre non può rilevare un errore operativo se entrambi i valori sono stati copiati dallo stesso punto o calcolati sul file sbagliato. Se l’esito è falso, ripeta i calcoli direttamente sui file previsti prima di ritrasferire qualsiasi dato. Una differenza può indicare corruzione, caricamento incompleto, conversione in modalità testo, archivio modificato o un valore incollato da un altro artefatto.
Lunghezze diverse generano un errore invece di un esito falso, perché la capacità presuppone lo stesso algoritmo. Con tale presupposto, dimensioni differenti segnalano una configurazione o una copia errata da correggere. Viene ignorata soltanto la differenza tra maiuscole e minuscole.
Spazi interni, segni, prefissi e separatori restano significativi: usi formati comparabili o rimuova le decorazioni specifiche dei programmi.
Inserisca il confronto nel flusso di trasferimento
Per un download occasionale, calcoli i checksum di origine e destinazione con strumenti locali affidabili, annoti chiaramente l’algoritmo e utilizzi questo confronto come seconda verifica. Una differenza deve bloccare pubblicazione o distribuzione e conservare informazioni sufficienti per l’indagine; una coppia malformata o con lunghezze diverse va trattata come errore di configurazione. Scelga l’algoritmo in base al modello di minaccia e affidabilità del flusso.
Gli hash crittografici moderni sono adatti quando contano sia la corruzione accidentale sia la sostituzione intenzionale; checksum più vecchi o brevi possono essere utili in sistemi vincolati, ma offrono garanzie differenti. Questa capacità non impone un algoritmo: il suo compito mirato è confrontare due valori già prodotti con lo stesso metodo. Il calcolo deterministico non usa rete, modelli, casualità o orologio.
Casi d'uso
Verificare una versione scaricata
Confronti il checksum pubblicato con una versione e il valore calcolato dopo averne scaricato il file.
Controllare il trasferimento di un artefatto
Blocchi una distribuzione o pubblicazione quando il checksum di destinazione differisce dal valore sorgente registrato.
Controllare l’integrità di un backup
Confronti i valori prodotti prima e dopo la copia di un backup senza inviarne i dati al comparatore.
Domande frequenti
Il confronto distingue maiuscole e minuscole?
No. Le lettere maiuscole e minuscole sono considerate equivalenti, così da accettare i comuni formati esadecimali.
Perché vengono rifiutate lunghezze diverse?
I valori devono provenire dallo stesso algoritmo. Dimensioni differenti indicano formati o algoritmi incompatibili oppure una copia incompleta.
Lo strumento calcola il checksum del mio file?
No. Confronta due stringhe fornite da Lei e non deve mai ricevere il file sottostante.
Una corrispondenza dimostra che il trasferimento è sicuro?
Dimostra soltanto che i valori forniti coincidono ignorando maiuscole e minuscole. La garanzia dipende anche da come sono stati calcolati, protetti e associati al file corretto.
Gli spazi vengono ignorati?
Vengono rimossi solo gli spazi intorno a ciascun valore completo. Spazi o separatori interni restano significativi.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"checksum_before": "9e107d9d372bb6826bd81d3542a419d6",
"checksum_after": "9E107D9D372BB6826BD81D3542A419D6"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "verify.file_checksum_compare",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Confronti i valori di origine e destinazione
Incolli il primo valore in checksum_before e il secondo in checksum_after.
Inserisca il confronto nel flusso di trasferimento
Per una consegna automatizzata, conservi il checksum sorgente accanto all’artefatto o in un manifesto firmato, calcoli quello di destinazione dopo il completamento della scrittura finale e richiami l’API prima di dichiarare riuscito il trasferimento. Browser e API restituiscono quindi lo stesso risultato, mentre i sistemi automatici possono effettuare il confronto per $0.002 a richiesta senza inviare il file.
Domande tecniche
Quanto costa il confronto tramite API?
Ogni richiesta API costa $0.002. La stessa comparazione deterministica può essere eseguita anche nel browser.