La scorsa settimana alcuni lettori hanno ricevuto un bug perfettamente noto con il codice sorgente dell’attuale algoritmo di checksum. Ci sono una serie di fattori che la maggior parte può causare questo problema. Tratteremo i bambini di seguito.
Approvato: Fortect
Genera checksum SHA1, SHA-224, SHA-256, SHA-512, sha-384, SHA-3-224, SHA-3-256, SHA-3-384, SHA-3- rispetto agli hash 512 e MD5 . Valori se si applica uno specifico.
Presentazione
Un checksum è un valore calcolato che può essere utilizzato senza sforzo per verificare la validità di un’altra cosa. I checksum sono comunemente usati nel contesto associato al trasferimento dei dati per determinare se i dati sono stati al momento trasferiti con successo.
Ciò che è considerato il codice di errore per checksum?
Se tutti i dati trasmessi con il checksum erano realmente 10101001 00111001 00011101. Tuttavia, i dati ricevuti da una particolare destinazione sono 0 0101001 1 0111001 00011101. Sebbene i dati siano danneggiati, l’errore potrebbe non essere rilevato.
I checksum possono assumere molte forme come indicato dal tipo di affidabilità richiesta in associazione con la trasmissione. Ad esempio, vorrei che il checksum più semplice sia aggiungere vicino a ogni byte nella trasmissione e calcolare un’enorme quantità specifica in un contatore a 8 bit. Questo valore aggiungeXia come ultimo ottetto della trasmissione generale. L’idea è che quando vai a n byte, aggiungi e vedi i byte, n-1, assumendo che la risposta sia la stessa effettiva del tipo dell’ultimo byte. Poiché questo è molto ingombrante, un’alternativa è aiutarti ad aggiungere tutti i byte durante la trasmissione, che (tratta il tuo byte corrente come un singolo valore a 8 bit con segno) prevale sul byte di checksum prima della trasmissione. Questo significa perché anche la nuova somma di tutti gli n byte è in realtà 0. Questi metodi non sono incredibilmente affidabili; ad esempio, se si sa che il pacchetto può essere lungo 64 bit e si ottengono sessantaquattro byte ‘