Vai al contenuto
HexaTransfer
Torna al blog
Trasferimento file

File corrotto dopo il trasferimento? Come prevenire la perdita

File corrotti dopo il trasferimento? Scopri perché succede e come prevenirlo con verifica checksum e servizi che garantiscono l'integrità.

La corruzione dei file dopo il trasferimento è rara sui servizi moderni basati su HTTPS perché i checksum TCP, l'integrità di TLS 1.3 e i tag di autenticazione AES-GCM rilevano tutti gli errori bit in transito. Quando la corruzione si verifica, di solito avviene sugli endpoint: download interrotto che ha scritto un file parziale, errori del disco durante la scrittura, oppure un bug nel client che tronca gli stream. Verifica con un hash SHA-256 su entrambi i lati. Se gli hash corrispondono, il file è identico. Se non corrispondono, ritrasferisci. I servizi che usano AES-256-GCM forniscono autenticazione integrata, quindi il successo della decrittazione è di per sé una prova di integrità.

Perché i trasferimenti raramente corrompono in transito

Ogni richiesta HTTPS porta un controllo di integrità TLS. TLS 1.3 con cifrari AEAD come AES-256-GCM o ChaCha20-Poly1305 produce un tag di autenticazione per ogni record; se un bit si capovolge sul filo, la verifica del tag fallisce e il record viene rifiutato prima di raggiungere l'applicazione. TCP aggiunge il suo checksum a 16 bit per segmento. La probabilità combinata di una corruzione silenziosa che superi entrambi i controlli è astronomicamente bassa, circa 1 su 2^128 per il solo TLS.

I protocolli non cifrati (FTP, plain HTTP) sono meno robusti. Il checksum TCP può mancarne alcuni; i bit possono capovolgersi silenziosamente su hardware intermedio con RAM difettosa. Questo è un motivo reale per evitare FTP semplice per trasferimenti grandi, al di là del problema della perdita delle credenziali.

Dove avviene davvero la corruzione

Le cause comuni di corruzione post-trasferimento, in ordine approssimativo di frequenza:

Download interrotto salvato come file parziale. I download del browser che perdono la connessione al 75 percento spesso salvano un file completo al 75 percento che sembra "presente" nella cartella Download ma si apre rotto. Chrome e Firefox ora tipicamente segnalano questi come .crdownload o .part, ma le versioni più vecchie e alcuni gestori di terze parti non lo fanno.

Errori di scrittura sul disco locale. Un disco esterno che sta cedendo, un disco pieno o un settore danneggiato causa la scrittura parziale del file. Windows non segnala sempre questo in modo chiaro; macOS a volte lo fa.

Quarantena dell'antivirus che modifica il file. L'AV in tempo reale a volte rimuove sezioni eseguibili o modifica gli archivi a metà download per "disinfettarli," lasciando il file tecnicamente presente ma logicamente corrotto.

Bug del client che tronca gli stream. Raro sui client ben mantenuti, ma alcuni client FTP legacy, vecchie versioni di SyncToy o script di upload personalizzati hanno bug di troncamento noti.

Verifica con hash SHA-256

L'unico modo affidabile per provare che un file è stato trasferito intatto è calcolare un hash crittografico su entrambi i lati e confrontarli. SHA-256 è universale, veloce (500 MB/s su CPU moderne con AES-NI) e collision-resistant.

macOS/Linux: shasum -a 256 file.mov. Windows 10+: certutil -hashfile file.mov SHA256. Entrambi producono una stringa esadecimale di 64 caratteri. Invia l'hash insieme al link ("SHA256: a1b2c3...") così il destinatario può verificare dopo il download.

Se gli hash corrispondono, il file è identico bit per bit. Se differiscono, ritrasferisci.

AES-GCM ti dà l'integrità gratuitamente

I servizi che cifrano con AES-256-GCM (crittografia autenticata con dati associati) includono un tag di autenticazione in ogni blocco. Quando il destinatario decifra, un tag fallito significa che il testo cifrato è stato manomesso o corrotto, e la decrittazione fallisce con un errore come "GCM authentication failed."

Questo significa che se un file viene decifrato con successo, è garantito non essere stato modificato. Non serve un controllo SHA-256 separato lato destinatario. HexaTransfer, la modalità Secure di Smash, SwissTransfer, Tresorit Send e Proton Drive usano tutti AES-GCM o XChaCha20-Poly1305 (modalità autenticata simile) esattamente per questo motivo.

Rileva i download parziali

Un segnale rivelatore di un download parziale: la dimensione del file su disco è inferiore a quella pubblicizzata sulla pagina di trasferimento. Fai clic destro sul file scaricato, controlla la dimensione, confrontala con la dimensione indicata dal mittente. Se non corrispondono, il download non è finito.

I file multimediali sono bravi a rivelarlo. Un MP4 parziale riproduce per un minuto e poi si interrompe. Un ZIP parziale restituisce "archivio corrotto" all'estrazione. Un PDF parziale mostra le prime pagine poi dà errore. I file di testo spesso si aprono correttamente ma sono troncati silenziosamente, che è il caso peggiore perché non te ne accorgi.

Download riprendibili per connessioni instabili

Se la connessione del destinatario cade durante il download, il supporto alla ripresa è importante. Le richieste HTTP range (RFC 7233) permettono a un client di ripartire da un offset. curl le gestisce con -C -, wget con -c. I gestori di download basati su browser variano; Firefox e Chrome riprendono nella stessa sessione se il server supporta i range.

I servizi che usano POST semplice o non espongono gli header Range forzano un riavvio completo alla caduta, che su un file da 10 GB su connessione cellulare a 20 Mbps è un'esperienza molto spiacevole.

Interferenza dell'antivirus

Windows Defender, Avast, Bitdefender e McAfee a volte intercettano i download a metà stream per scansionarli. Di solito è trasparente. Occasionalmente, per formati di archivio o eseguibili, l'AV decide di "pulire" il file e rimuove contenuti o sostituisce il file con uno stub di quarantena.

Se un file viene scaricato corrotto costantemente sul computer del destinatario, chiedigli di disabilitare temporaneamente l'AV in tempo reale e riprovare. Se il nuovo tentativo ha successo, l'AV è il responsabile. Aggiungi il dominio del servizio di trasferimento alla lista di esclusione dell'AV.

Spazio su disco e problemi del filesystem

Un download può anche corrompersi se il disco di destinazione si riempie a metà scrittura. macOS scrive attraverso al layer snapshot APFS e di solito segnala gli errori in modo chiaro. Windows NTFS tende a troncare silenziosamente. Sui dischi esterni, controlla lo spazio libero prima di avviare un download da 10 GB.

I bug del filesystem sono rari ma reali. exFAT su versioni vecchie di Windows ha avuto bug di troncamento con file sopra i 4 GB storicamente. ext4, NTFS e APFS sono affidabili sulle versioni attuali dei sistemi operativi.

Convalida con strumenti specifici per tipo di file

File video: ffprobe -v error file.mp4 segnala gli errori silenziosamente. Se l'output è vuoto, la struttura del container è intatta. Per un'analisi approfondita, ffmpeg -v error -i file.mp4 -f null - analizza ogni frame e segnala gli errori di decodifica.

PDF: il comando "Validate" di Acrobat controlla la struttura degli oggetti. qpdf --check file.pdf fa lo stesso da riga di comando.

Imaging medicale DICOM: dcmdump file.dcm di DCMTK verifica i tag richiesti e la struttura, il che è importante per i sistemi PACS ospedalieri che rifiutano i file non validi.

Archivi: unzip -t file.zip e 7z t file.7z testano senza estrarre. Veloci e rilevano la maggior parte della corruzione.

Scegli servizi con integrità integrata

Per i trasferimenti critici, scegli un servizio che fornisce integrità crittografica per progetto. Crittografia AES-GCM end-to-end, visualizzazione dell'hash SHA-256 sulla pagina di download, o convalida esplicita del checksum nel client ti danno prove piuttosto che speranze. HexaTransfer usa AES-256-GCM in modo che la decrittazione riuscita verifichi essa stessa che il file non sia stato alterato, e il tetto di 10 GB per trasferimento copre la maggior parte dei materiali professionali.

Provalo su hexatransfer.com — gratis, senza registrazione, fino a 10 GB.

Invia file di grandi dimensioni in modo sicuro con crittografia end-to-end

Trasferisci file fino a 10 GB gratuitamente con crittografia end-to-end. Nessun account necessario. I tuoi file vengono crittografati nel browser prima del caricamento — nessun altro può leggerli.

Invia un file