ForHosting KIT · Strumenti per sviluppatori

Calcolatore checksum XOR

Il calcolatore di checksum XOR combina un elenco ordinato di byte in un unico valore di integrità a 8 bit.

● BetaGratis · nel tuo browser
Usalo da WebAPIEmailTelegramApp presto

Inserisca numeri interi da 0 a 255 per ricevere il risultato in formato decimale, esadecimale e binario, insieme a un’espressione leggibile del calcolo. Questo controllo è comune nei messaggi seriali compatti, nei comandi per dispositivi embedded, nei formati legacy e nei protocolli semplici di tipo LRC, perché richiede pochissima elaborazione. Lo strumento consente di verificare esempi, analizzare frame, preparare vettori di test e riprodurre una specifica senza scrivere uno script occasionale.

Come viene calcolato il checksum XOR

Il calcolo parte da un accumulatore impostato a zero e applica l’OR esclusivo bit per bit a ogni byte della sequenza. Per ciascuna posizione XOR restituisce uno quando i bit confrontati sono diversi e zero quando coincidono. Ripetendo l’operazione rimane un solo byte. Lo stesso valore applicato due volte si annulla, perché x XOR x vale zero, mentre XOR con zero lascia il valore invariato. L’operazione è associativa e commutativa: raggruppare o riordinare i byte selezionati non cambia il risultato, anche se è sempre il protocollo a stabilire quali campi includere. Il calcolatore verifica che ogni elemento sia un intero tra 0 e 255, esegue un passaggio sulla lista e presenta lo stesso risultato in tre forme. Il decimale è utile nelle API generiche, l’esadecimale corrisponde ai dump di pacchetti e ai datasheet, mentre gli otto caratteri binari rendono visibile ogni bit. L’espressione restituita registra gli operandi e il checksum esadecimale finale.

Scelga i byte corretti del messaggio

L’aritmetica è semplice, ma la selezione della parte giusta di un frame è la causa più frequente di risultati discordanti. Legga la definizione del protocollo per capire se includere delimitatore iniziale, indirizzo, comando, lunghezza, payload, campo checksum esistente e delimitatore finale. Di solito il byte del checksum è escluso, ma le convenzioni cambiano. Converta ottetti esadecimali come 7E, 01 e A4 nei rispettivi interi prima dell’invio: diventano 126, 1 e 164. Non invii codici di caratteri se il protocollo non verifica esplicitamente testo codificato. Il carattere ASCII “7” normalmente corrisponde al byte 55, mentre un campo numerico con valore sette corrisponde a 7. Anche i numeri multibyte richiedono il corretto ordine di trasmissione, determinato dall’endianness. Componga la lista esattamente come viene trasmessa e confronti il risultato esadecimale con il frame o la documentazione. Il conteggio dei byte aiuta a individuare campi omessi o duplicati.

Che cosa può dimostrare questo controllo

Un checksum XOR è utile quando un protocollo richiede un controllo estremamente rapido e specifica già questo algoritmo. Rileva qualsiasi modifica di un singolo bit e molte altre alterazioni accidentali, quindi è pratico per diagnosticare brevi frame seriali e dispositivi con risorse limitate. Tuttavia è molto più debole di un CRC o di un hash crittografico. Due errori uguali in byte diversi possono annullarsi, il riordino non modifica il risultato e un attaccante può compensare intenzionalmente una variazione altrove. Tratti l’output come valore di compatibilità e diagnostica, non come prova di autenticità o protezione da manomissioni. Se progetta un nuovo protocollo, consideri un CRC ben specificato contro gli errori di trasmissione o un codice di autenticazione dei messaggi quando conta la sicurezza. Per test ripetibili salvi nel fixture sia la lista esatta sia l’espressione restituita. Il browser esegue la stessa logica deterministica dell’API e ogni chiamata automatizzata costa $0.002, così i controlli interattivi e le pipeline producono valori identici.

Analizzare un frame seriale

Ricalcoli il checksum sui campi previsti e lo confronti con il byte ricevuto dal dispositivo.

Creare vettori di test

Generi risultati stabili decimali, esadecimali e binari per firmware, driver e test di integrazione.

Verificare comandi embedded

Controlli un pacchetto prima della trasmissione e confermi conversioni e campi rispetto al manuale.

Quali valori può inserire?

Inserisca un array non vuoto di interi da 0 a 255. Ogni intero rappresenta esattamente un byte.

L’ordine influisce sul checksum XOR?

No. XOR è commutativo, ma conservi l’ordine di trasmissione quando documenta o analizza un frame.

Deve includere il byte del checksum?

Segua la specifica. Molti calcoli lo escludono, ma alcune verifiche elaborano l’intero frame e attendono un residuo definito.

È uguale a un CRC?

No. Un CRC usa la divisione polinomiale e rileva più categorie di errori. XOR è più leggero, ma molto più debole.

Può usare stringhe esadecimali?

Il contratto accetta byte interi. Converta ogni ottetto esadecimale nel relativo intero prima della chiamata.

Quanto costa un calcolo tramite API?

Ogni richiesta API costa $0.002. Il calcolatore nel browser è disponibile per controlli interattivi.

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.

POSThttps://api.kit.forhosting.com/elec/xor-checksum

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

curl -X POST https://api.kit.forhosting.com/elec/xor-checksum \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"bytes":[72,101,108,108,111]}'
{
  "bytes": [
    72,
    101,
    108,
    108,
    111
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "elec.xor_checksum",
  "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.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

max_items65536
HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Leggi la documentazione completa del KIT →