Calculadora CRC-8
Los nueve caracteres 123456789 dan el valor CRC-8 f4, o 244 en decimal, el control documentado del perfil SMBus con polinomio 07, así que puede verificar una trama de bus o un ejercicio de manual. Pegue cualquier texto y obtenga su suma de un byte. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Texto
- 123456789
- Resultado
- f4
- Crc8
- f4
- Hex
- f4
- Decimal
- 244
CRC-8 es un control de redundancia cíclica de ocho bits usado en buses embebidos, protocolos de trama simples y material didáctico que necesita un byte compacto de integridad en lugar de un hash criptográfico completo. Ingenieros, estudiantes y equipos de soporte suelen necesitar el mismo resultado de libro para una cadena corta: el polinomio estándar 0x07 (x a la octava más x al cuadrado más x más uno), registro inicial cero, sin reflexión de bits y XOR final cero—exactamente el perfil CRC-8/SMBus cuyo valor de comprobación para los dígitos ASCII del uno al nueve es F4 en hexadecimal. Esta herramienta de checksum CRC-8 acepta texto no vacío, lo codifica como UTF-8, ejecuta ese bucle determinista de desplazamiento y XOR y devuelve el único byte de checksum como dos dígitos hexadecimales en minúsculas junto con el valor decimal y un resumen breve.
Qué calcula el CRC-8 con polinomio 0x07 y por qué importa el byte hex
Un control de redundancia cíclica trata el mensaje como un polinomio sobre el cuerpo de Galois de dos elementos y lo divide por un polinomio generador fijo, dejando un resto que se convierte en el checksum. En CRC-8 el resto solo tiene ocho bits de ancho, de modo que el resultado entero cabe en un byte y se escribe de forma natural como dos dígitos hexadecimales.
El generador estándar usado por SMBus, muchos ejemplos al estilo HEC de ATM y la mayoría de demos CRC-8 en línea es 0x07, que se expande a x a la octava más x al cuadrado más x más uno. En software la división se realiza haciendo OR exclusivo de cada byte de entrada en un registro de ocho bits y desplazando a la izquierda ocho veces, aplicando OR exclusivo con el generador cuando el bit alto está activo.
Esta página usa siempre ese algoritmo no reflejado con valor inicial cero y XOR final cero, el perfil cuyo valor de comprobación documentado para la cadena ASCII de nueve bytes uno dos tres cuatro cinco seis siete ocho nueve es F4. La respuesta también repite el entero decimal, la cadena de polinomio 0x07, la etiqueta de algoritmo CRC-8, el recuento de bytes UTF-8 y el texto original para que los clientes muestren una línea de auditoría completa sin recalcular metadatos.
Como CRC-8 no es resistente a colisiones ni lleva clave, trátelo como comprobación de trama o de corrupción accidental, no como prueba de autenticidad; prefiera digests de la familia SHA cuando la intención de búsqueda sea el hashing criptográfico y no un CRC de un byte.
Dónde tiene sentido un control CRC-8 de un byte
Autores de firmware y estudiantes de protocolos de bus usan una calculadora de checksum CRC-8 para verificar restos calculados a mano frente al polinomio estilo SMBus sin escribir un bucle de desplazamiento en cada lenguaje. Las plataformas educativas y los plugins LMS necesitan un oráculo determinista que rechace la entrada vacía en lugar de devolver cero para el mensaje vacío, de modo que los autoevaluadores distingan respuestas ausentes de un checksum real de cero.
Los sitios de contenido que compiten por checksum CRC-8 o calculadora CRC8 se benefician de una herramienta en vivo cuya ruta gratuita coincide byte a byte con la automatización de pago sobre el mismo módulo puro. Los fallos de validación no consumen saldo tras el rechazo. Combine con landings de CRC-32 o hash criptográfico solo cuando la intención de búsqueda vaya más allá de una comprobación de trama de ocho bits—mantenga esta página centrada en CRC-8 con poli estándar 0x07 para que la intención SEO siga nítida.
Qué puede hacer con ella
Comprobaciones SMBus y protocolos embebidos
Verifique que una cadena de carga produce el tráiler CRC-8 de un byte esperado bajo el poli 0x07 antes de comparar logs de dispositivo o vectores de prueba unitaria.
Demostraciones de resto CRC en el aula
El profesorado muestra el valor clásico 123456789 → F4 y deja que el alumnado recalcule otras cadenas cortas sin instalar una biblioteca CRC.
Preguntas frecuentes
¿Qué polinomio CRC-8 usa esta herramienta?
El poli estándar 0x07 (CRC-8/SMBus): init 0x00, sin reflexión, xorout 0x00. La comprobación documentada para ASCII 123456789 es F4.
¿Qué ocurre si el texto está vacío?
Se exige una cadena no vacía; la entrada vacía no se trata como un checksum cero exitoso.
¿Es gratuita la calculadora de checksum CRC-8?
La herramienta del navegador se ejecuta gratis en su dispositivo.
¿Es CRC-8 un hash criptográfico?
No. CRC-8 es una comprobación de integridad de ocho bits para trama y corrupción accidental. Use SHA-256 o similar cuando necesite resistencia a colisiones o autenticación.
¿Dónde se usa este perfil CRC-8?
El polinomio 07 con arranque en cero es el generador de SMBus, de muchos ejemplos de control de cabecera ATM y de la mayoría de las demos de CRC-8 en línea. Encaja en buses embebidos, protocolos de tramas sencillos y material docente.
Herramientas relacionadas
Para desarrolladores — acceso por API
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.
Endpoint de API
¿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.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/enc/crc8 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"123456789"}'const res = await fetch("https://api.kit.forhosting.com/enc/crc8", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "123456789"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/crc8",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "123456789"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/crc8", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"123456789"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"123456789"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/crc8", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"text": "123456789"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.crc8",
"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.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
La entrada vacía se rechaza con invalid_input para que quien llame no confunda un campo ausente con un checksum cero real.
Contrato de entrada, errores de cadena vacía y forma de la respuesta JSON
La cadena se codifica como UTF-8 antes del bucle CRC, de forma que los caracteres multibyte aportan cada byte de unidad de código exactamente como lo haría un dispositivo embebido si recibiera el mismo flujo UTF-8. Fije tanto una ruta de éxito como un error de entrada vacía en la integración continua para que cambios accidentales de poly o init no pasen desapercibidos. Los campos opcionales nulos se omiten en lugar de emitirse como null, acorde al contrato del renderizador declarativo para formularios web limpios. Envíe por POST un cuerpo JSON con un único campo de cadena obligatorio llamado text: cualquier secuencia no vacía de caracteres que desee verificar. Se aceptan los alias input, value, s, data, message y payload para el mismo campo, de modo que los stubs de SDK y los envíos de formulario sigan siendo flexibles. Si falta text, el valor no es una cadena o la cadena está vacía, la petición falla con invalid_input y un mensaje claro de que se exige una cadena no vacía; esos fallos no se facturan en la API prepago. En caso de éxito el cuerpo incluye result, crc8 y hex todos con el mismo checksum hexadecimal de dos dígitos en minúsculas; decimal con el entero de cero a doscientos cincuenta y cinco; polynomial fijo en 0x07; algorithm fijo en CRC-8; input_bytes igual a la longitud UTF-8; text repitiendo la entrada; y message resumiendo el recuento de bytes y el resultado hex.
Dónde aporta valor una API de checksum CRC-8 y cómo funciona el precio
Use la herramienta gratuita en el navegador para comprobaciones puntuales; use la API prepago de KIT desde backends, funciones serverless y SDK cuando necesite un contrato estable bajo saldo a $0.002 por ítem exitoso. Mantenga las cargas en tamaños de texto ordinarios adecuados a una llamada de ítem en un Worker isolate; esta herramienta es para cadenas cortas y fragmentos de protocolo, no para binarios de varios megabytes.
Casos de integración
Fixtures de CI para código de trama
Los pipelines fijan salidas hex CRC-8 deterministas y el error de entrada vacía para que cambios accidentales de poly o init fallen de inmediato.
Preguntas técnicas
¿Cómo calculo un checksum CRC-8 de un texto?
Envíe JSON con un campo de cadena no vacío text. La API codifica la cadena en UTF-8, ejecuta CRC-8 con polinomio 0x07 y devuelve el byte como dos dígitos hex en minúsculas en result, crc8 y hex.