ForHosting KIT · Utilidades de desarrollo

Calculadora de checksum XOR

La calculadora de checksum XOR combina una lista ordenada de bytes en un único valor de integridad de 8 bits.

● BetaGratis · en su navegador
Úselo desde WebAPIEmailTelegramApp pronto

Introduzca enteros de 0 a 255 y obtenga el resultado en formato decimal, hexadecimal y binario, junto con una expresión legible del cálculo. Estas sumas son habituales en mensajes serie compactos, órdenes para dispositivos embebidos, formatos heredados y protocolos sencillos de tipo LRC porque exigen muy poco procesamiento. La herramienta sirve para revisar ejemplos, depurar tramas, preparar vectores de prueba y reproducir una especificación sin escribir un script específico.

Cómo se calcula un checksum XOR

El cálculo comienza con un acumulador a cero y aplica la operación OR exclusivo bit a bit a cada byte de la secuencia. En cada posición, XOR produce uno cuando los dos bits comparados son distintos y cero cuando coinciden. Al repetir la operación queda un solo byte. Un valor combinado consigo mismo se cancela porque x XOR x es cero, mientras que combinarlo con cero no lo modifica. La operación es asociativa y conmutativa, por lo que agrupar o reordenar los bytes elegidos no cambia el resultado, aunque el protocolo sí determina qué campos deben participar. Esta calculadora comprueba que cada elemento sea un entero entre 0 y 255, recorre la lista y presenta el mismo valor de tres maneras. El decimal resulta práctico para API generales; el hexadecimal encaja con volcados de paquetes y fichas técnicas; y los ocho dígitos binarios permiten examinar cada bit. La expresión devuelta conserva los operandos y el checksum hexadecimal final para facilitar la auditoría.

Seleccione los bytes correctos del mensaje

La aritmética es sencilla, pero escoger la parte correcta de una trama suele causar discrepancias. Consulte la definición del protocolo para saber si debe incluir el delimitador inicial, la dirección, el comando, la longitud, la carga útil, el campo de checksum existente y el delimitador final. Normalmente se excluye el propio byte de comprobación, pero las convenciones varían. Convierta octetos hexadecimales como 7E, 01 y A4 a enteros antes de enviarlos: corresponden a 126, 1 y 164. No envíe códigos de caracteres salvo que el protocolo compruebe texto codificado. El carácter ASCII “7” suele ser el byte 55, mientras que un campo numérico de valor siete es 7; producen resultados diferentes. Los números multibyte también requieren el orden correcto de transmisión, ya sea primero el byte alto o el bajo. Construya la lista exactamente como circula por el cable y compare el hexadecimal obtenido con la trama o el manual. El recuento ayuda a detectar campos omitidos o duplicados.

Qué puede demostrar esta comprobación

Un checksum XOR es útil cuando un protocolo necesita una comprobación muy rápida y su especificación ya exige este algoritmo. Detecta cualquier cambio de un solo bit y muchas otras alteraciones accidentales, por lo que sirve para diagnosticar tramas serie cortas y dispositivos limitados. Sin embargo, es mucho más débil que un CRC o un hash criptográfico. Dos errores iguales en bytes diferentes pueden cancelarse, el orden no afecta al resultado y un atacante puede modificar datos y compensar el cambio en otra posición. Considere la salida como un valor de compatibilidad y diagnóstico, no como prueba de autenticidad ni protección contra manipulaciones. Si diseña un protocolo nuevo, valore un CRC bien definido para errores de transmisión o un código de autenticación de mensajes cuando la seguridad importe. Para pruebas repetibles, guarde la lista exacta y la expresión devuelta en el fixture. El navegador ejecuta la misma lógica determinista que la API, y las llamadas automatizadas cuestan $0.002 cada una, de modo que las comprobaciones interactivas y las canalizaciones producen el mismo valor.

Depurar una trama serie

Recalcule el checksum sobre los campos definidos y compárelo con el byte recibido del dispositivo.

Crear vectores de prueba

Genere resultados estables en decimal, hexadecimal y binario para fixtures de firmware, controladores e integración.

Verificar comandos embebidos

Revise un paquete antes de transmitirlo y confirme que la conversión y los campos coinciden con el manual.

¿Qué valores puedo introducir?

Introduzca un array no vacío de enteros entre 0 y 255. Cada entero representa exactamente un byte.

¿El orden afecta al checksum XOR?

No. XOR es conmutativo, aunque conviene conservar el orden de transmisión al documentar y depurar una trama.

¿Debo incluir el propio byte de checksum?

Siga la especificación. La mayoría lo excluye, pero algunas verificaciones procesan la trama completa y esperan un residuo definido.

¿Es lo mismo que un CRC?

No. Un CRC emplea división polinómica y detecta más clases de errores. XOR es más ligero, pero bastante más débil.

¿Puedo enviar cadenas hexadecimales?

El contrato acepta bytes enteros. Convierta cada octeto hexadecimal a su entero equivalente antes de llamar a la calculadora.

¿Cuánto cuesta un cálculo por API?

Cada solicitud por API cuesta $0.002. La calculadora del navegador está disponible para comprobaciones interactivas.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

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

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

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"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

max_items65536
HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Ver la documentación completa del KIT →